| 这一切都可以在Action中完成,在Action会用到JSP中eXtremeTable的table标签的属性'tableId' 和'item','tableId'用于完成eXtremeTable的分页,'item'用于返回你分页的结果集,不多不少,刚好是你需要查看的那一页的结果集,比如说,你一页是10条记录,那你访问第20页的时候,'item'的结果集就只有第201条到第210条记录.还有就是在request中加入totalRows的属性,表示本次查询结果的数量 另外,JSP的中,eXtremeTable的table标签要retrieveRowsCallback属性,将该属性设为 org.extremecomponents.table.callback.LimitCallback,这是它默认的分页回调类,你也可以写自已的回调类.设置了该默认的回调类以后,你在Action里就需要向request加入totalRows属性,值为你的查询结果总记录数,这样才会产生翻页的效果. 现在就你的DisplayAction中加分页的特性了,如下: Limit limit = LimitFactory.createInstanceOfLimit(request, TABLEID); LimitFactory.setLimitPageAndRowAttr(limit,PAGE_SIZE,TOTAL_SIZE); 这里的TABLEID就是JSP页上标签的属性tableId, PAGE_SIZE是你一页的记录数,TOTAL_SIZE是你查询数据的总数 然后设置totalRow属性,它的值被要求为Integer类型的,转换一下: request.setAttribute("totalRows",new Integer(TOTAL_SIZE)); 将分页后的结果集(一页的内容)放到request的resultList(此为JSP中item属性设置的值)属性中去: request.setAttribute("resultList", getTestData(limit.getCurrentRowsDisplayed(),limit.getPage())); 上面得到分页数据的函数原形为getTestData(int pageSize,int paget),通过指定一页的记录数和第几页来获得所需的数据,这可以根据数据库的分页特性,或者通过滑动游标的方式来得到,这里不再傲述. 以下为部分代码: JSP部分: <ec:table
items="resultList" var="item" tableId="youTableId"
retrieveRowsCallback="org.extremecomponents.table.callback.LimitCallback"
filterRowsCallback="org.extremecomponents.table.callback.LimitCallback"
sortRowsCallback="org.extremecomponents.table.callback.LimitCallback"
action="${pageContext.request.contextPath}/DisplayAction.do"
imagePath="${pageContext.request.contextPath}/images/table/*.gif"
title="TEST"
width="100%"
rowsDisplayed="10"
sortable="false"
filterable="false"
>
<ec:column property="name" title="姓名"/>
<ec:column property="nickName" title="别名"/>
</ec:table> Action部分代码: Limit limit = LimitFactory.createInstanceOfLimit(request, TABLEID);
LimitFactory.setLimitFilterAndSortAttr(limit);
LimitFactory.setLimitPageAndRowAttr(limit,PAGE_SIZE,TOTAL_SIZE);
request.setAttribute("resultList",getTestData(limit.getCurrentRowsDisplayed(),limit.getPage()));
request.setAttribute("totalRows",new Integer(TOTAL_SIZE)); ,标签里的rowDisplayed属性要和Action中的PAGE_SIZE一致,不然会有问题... 其他资源 extremecomponents 用AJAX: http://extremecomponents.org/wiki/index.php/AJAX_enabled_eXtremeTable_Tutorial extremecomponents Group: http://groups.google.com:80/group/eXtremeComponents_CN 资源 http://www.blogjava.net:80/lucky/category/7508.html 官方网站 http://www.extremecomponents.org |