pagertaglib分页处理的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pager-taglib是java中一个用于分页的小的框架。下面简单介绍一下它的具体使用。
一、环境的搭建:
将pager-taglib-2.0.war包拷贝到Tomcat的webapps下。启动Tomcat后会将其解压成pager-taglib-2.0文件夹。
从解压文件中的lib目录下拷贝pager-taglib.jar包到项目的lib下。
在JSP页面中使用taglib指令引入pager-taglib标签库。
二、重要参数的说明:
Offset:传过来的值是偏移量,是选择的页面的页数。比如你的记录/页pageSize=3,那么传过来的offset应该如下处理:offset/3+1 这样得到的就是要生成的页数!
pg:pager设置分页的总体参数
url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数,但不允许像给页面跳转的url那样,在后面直接添加参数,而参数的传递时需要使用pg:param来指定。
items:总记录数,pager标签正是根据这个值来计算分页参数,很重要。
maxPageItems:每页显示的行数,默认为10
maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10
pg:first 第一页的标签
pg:pre 上一页标签
pg:next 下一页标签
pg:last 最后一页标签
pg:pages 循环输出页码信息
对于上面的标签都有类似的export变量:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber- 页码
firstItem –对应页第一行的索引值
lastItem -对应页最后一行的索引值
三、项目中使用pager-taglib:
1、引入对应的标签库:
[html]view plaincopy
1.<%@taglibprefix="pg"uri="/ta
gs/navigation/pager"%>
2.
3.<%@ taglib prefix="c"uri="/jsp/jstl/core" %>
2、使用标签布置页面:
[html]view plaincopy
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
需要注意的是:
很多时候,在不同的页面中跳转的时候,需要传递一个id,在保持这个数据的时候,不能直接跟在url后面,需要使用 name="parentId"/>来传递。 为了给当前页添加一些特殊的效果,使用currentPageNumber给 pageNumber指定了一个别名,这是为了test="${currentPageNumber eq pageNumber }判断的需要。 Items表示:返回来的总记录数,由此,该框架采用的是假分页。 url:指明了请求的入口地址,是与struts的配置文件struts-config.xml 中的配置相关联。 3、设置offset和pagesize变量的值: 比较好的做法是在系统变量类中,将其设置到ThreadLocal变量中。 这里将其封装到了SystemContext类中: [java]view plaincopy 1.public class SystemContext { 2. 3. privatestatic ThreadLocal offset = new ThreadLocal(); 4. 5. privatestatic ThreadLocal pagesize = new ThreadLocal(); 6. 7. 8. publicstatic int getOffset(){ 9. 10. Integeros = (Integer)offset.get(); 11. 12.if(os== null){ 13. 14. return0; 15. } 16. returnos;