[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的才会被赋予页面上设定的值
Global site tag (gtag.js) - Google Analytics