[ECSide] limit对象使用数据库分页从request取不到当前pageSize
wplqw
2007-06-08
昨天用的时候,3000记录做分页觉得很慢,然后debug代码,发现查询结果list的size
居然还是3000,测试代码仿照你DemoAction,接着跟踪显示limit.getCurrentRowsDisplayed 等于0,结果导致计算分页开始记录((currentPage-1)*pageSize)的时候总是等于0,其他属性正常,比如getPage等等,后来参考了一下你的源代码,使用RequestUtil.getCurrentRowsDisplayed(HttpServletRequest request)获得了正确的当前pageSize,分页sql总算正常了. |
|
fins
2007-06-10
奇怪啊
如果你使用 limit的 getRowStart getRowEnd 应该不会出现这样的情况啊 ecside会正确的计算的 |
|
windtalkers
2009-04-30
我遇到了类似的情况,太郁闷了
|
|
crxiang
2011-10-20
我发现这个bug可以这样解决:
Limit limit = RequestUtils.getLimit(request); ...... ...... //先设置总行数和默认的每页记录数 limit.setRowAttributes(totalRows, DEFAULT_PAGE_SIZE); //再获取当前分页数 int pageSize = limit.getCurrentRowsDisplayed(); 我跟代码的时候发现在setRowAttributes方法执行之后,limit的currentRowsDisplayed的才会被赋予页面上设定的值 |