为了让jmesa分页变得更加的合理,还有一些地方需要完善,比如做个论坛之类的,像JE那样,数字分页的方式已经解决了,下面还有两个问题需要解决,一是那些条件搜索框要去掉(去掉工具栏上的搜索按钮直接调整工具栏就可以了),二是内容的上下均显示分页信息。要解决这两个问题,就得自己定义HtmlView了,默认使用的样式显示方式由HtmlView类决定,此类的源码:
照着上面的代码很容易实现自己的显示样式。
解决问题一:
解决问题二:
这里有个需要注意的地方:
之所以要这么做,一是因为这样使用更加合理,二是因为如果连续调用两次snippets.boolbar会导致其内部的字符串进行累加,那么下面的分页将会显示两次。
写完自定义的HtmlView后,将它赋给tableFacade:
最后,在相应的JSP页面申明:
到此,整个jmesa的大部分问题都得到了解决,还好,可以通过博客的方式记录下来,不然自己早没这个动力了。
public class HtmlView extends AbstractHtmlView {
public Object render() {
HtmlSnippets snippets = getHtmlSnippets();
HtmlBuilder html = new HtmlBuilder();
html.append(snippets.themeStart());
html.append(snippets.tableStart());
html.append(snippets.theadStart());
html.append(snippets.toolbar());
html.append(snippets.filter());
html.append(snippets.header());
html.append(snippets.theadEnd());
html.append(snippets.tbodyStart());
html.append(snippets.body());
html.append(snippets.tbodyEnd());
html.append(snippets.footer());
html.append(snippets.statusBar());
html.append(snippets.tableEnd());
html.append(snippets.themeEnd());
html.append(snippets.initJavascriptLimit());
return html.toString();
}
}
照着上面的代码很容易实现自己的显示样式。
解决问题一:
//html.append(snippets.filter());
解决问题二:
这里有个需要注意的地方:
.....
String toolbar = snippets.toolbar();
....
html.append(toolbar);
..........
html.append(toolbar);
html.append(snippets.tableEnd());
........
之所以要这么做,一是因为这样使用更加合理,二是因为如果连续调用两次snippets.boolbar会导致其内部的字符串进行累加,那么下面的分页将会显示两次。
写完自定义的HtmlView后,将它赋给tableFacade:
...
tableFacade.setView(new CustomHtmlView());
return tableFacade.render();
最后,在相应的JSP页面申明:
...
<jmesa:tableFacade id="user_table" .... view="com.util.CustomHtmlView">
...
到此,整个jmesa的大部分问题都得到了解决,还好,可以通过博客的方式记录下来,不然自己早没这个动力了。