码迷,mamicode.com
首页 > 其他好文 > 详细

pager分页框架体会

时间:2016-09-17 22:02:53      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

<pg:pager> 元素的属性中:

maxPageItems说的是每页偏移量是多少,这个并不是说每一页显示多少,而是第二页比第一页来说,在第一页的尾部增加多少,第一页又被覆盖多少,是决定每一次加多少,pageOffset=(页数-1)*maxPageItems。

而每一页迭代显示多少是由pagesize决定的,也就是一次在数据库取出多少条数据。

而pageOffset通过request和threadLocal传进去,决定了从哪个位置开始取pagesize个对象。

 

items="${param.items}" items的数值是 按照条件筛选的同一个sql语句但是没有加limit得到的总数,也就是符合这个筛选条件所有的对象数目,是总记录数totalRecord;

Pager框架根据这个数值和pageOffset决定总页数,totalpage=(totalRecord-1)/pageOffset   +1; 其实本来没有这个框架的时候 ,pageoffset是由pagesize和pageIndex决定的,但是有这个框架之后

每页偏移量和pagesize是分别指定的(一个在pager框架配置中,一个在和treadlocal相关的filter中初始参数指定),有时候会产生不一样的情况。

 

url="${url}" 这个我有疑惑,为啥不是url="${param.url}" ,这样的话会多一个命令出来。

 

export="curPage=pageNumber" 特别注意的是 pageNumber这个东西在不同的标签内部,数值是不一样的,比如当前页数是3,<page:prev>里面的pageNumber就等于2,同样的首页的就永远是1.

而在<pg:pager>中的元素中的pageNumber,指的是当前的页数,用curpage暴露出来,是为了跟<pg:pages>标签中的递增的从1到最大值的所有pageNumber区分开。

pager分页框架体会

标签:

原文地址:http://www.cnblogs.com/chuliang/p/5879689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!