pager分页框架体会

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pager分页框架体会相关的知识,希望对你有一定的参考价值。

<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分页框架体会的主要内容,如果未能解决你的问题,请参考以下文章

分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)

jQuery_pager.js分页

TableSorter Pager(JQuery)的错误分页

Spring3+ibatis (SQL Server)+pager-taglib.tld查询分页的实现

symfony学说三表一查询到Pager(分页)?

分页组件