@Override public int doStartTag() throws JspException { int i = super.doStartTag(); Tag parent = getParent(); if (parent instanceof TableTag) { Tablecol col = (Tablecol) component; TableTag tbtag = (TableTag) parent; List<Tablecol> columns = tbtag.getColumns(); int ci = tbtag.getColindex(); if (ci > columns.size()) { ci = columns.size() - 1; } if (ci < 0) { ci = 0; } if (StrUtil.isNull(dataattribute) || StrUtil.isNull(tbtag.getCustColumns())) { columns.add(ci, col); tbtag.setColindex(ci + 1); } else { int idx = tbtag.getTablecol(dataattribute); if (idx >= 0) { tbtag.getColumns().remove(idx); tbtag.getColumns().add(idx, col); tbtag.setColindex(idx + 1); } } } return i; }