jmesa列渲染

看了Jmesa的源码,发现作者把Row的renderer的render方法写成如下:
public Object render(Object item, int rowcount) {
HtmlBuilder html = new HtmlBuilder();
html.tr(1);
html.id(getCoreContext().getLimit().getId() + "_row" + rowcount);
html.style(getStyle());
html.styleClass(getStyleClass(rowcount));
html.append(getRowEvents(item, rowcount));
html.close();
return html.toString();
}
把行的演染只写一增,另一半td的输出放在了body里面.这样写似乎不妥,如果我想现第一面加一个附加行.除非改原码,实现不了.改成如下形式,刚感觉更独立一些,也更利于自定义:
public Object render(Object item, int rowcount) {
HtmlBuilder html = new HtmlBuilder();
html.tr(1);
html.id(getCoreContext().getLimit().getId() + "_row" + rowcount);
html.style(getStyle());
html.styleClass(getStyleClass(rowcount));
html.append(getRowEvents(item, rowcount));
html.close();
List<Column> columns = getRow().getColumns();
for (Iterator<Column> iter = columns.iterator(); iter.hasNext();) {
HtmlColumn column = (HtmlColumn) iter.next();
html.append(column.getCellRenderer().render(item, rowcount));
}
html.trEnd(1);
return html.toString();
}

你可能感兴趣的:(html)