pagertaglib分页处理的使用

上传人:cl****1 文档编号:487171878 上传时间:2023-06-15 格式:DOCX 页数:17 大小:30.07KB
返回 下载 相关 举报
pagertaglib分页处理的使用_第1页
第1页 / 共17页
pagertaglib分页处理的使用_第2页
第2页 / 共17页
pagertaglib分页处理的使用_第3页
第3页 / 共17页
pagertaglib分页处理的使用_第4页
第4页 / 共17页
pagertaglib分页处理的使用_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《pagertaglib分页处理的使用》由会员分享,可在线阅读,更多相关《pagertaglib分页处理的使用(17页珍藏版)》请在金锄头文库上搜索。

1、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

2、 这 样得到的就是要生成的页数!pg:pager设置分页的总体参数url:分页的链接根地址,pager标签会在这个链接的基础上附加分 页参数,但不允许像给页面跳转的url那样,在后面直接添加参数,而 参数的传递时需要使用pg:param来指定。items:总记录数,pager标签正是根据这个值来计算分页参数,很 重要。maxPageltems:每页显示的行数,默认为 10maxindexPages:在循环输出页码的时候,最大输出多少个页码, 默认是10pg:first第一页的标签pg:pre 上一页标签pg:next 下一页标签pg:last最后一页标签pg:pages 循环输出页码信息对于上

3、面的标签都有类似的export变量:pageUrl -分页链接URL地址(最重要的export参数)pageNumber-页码firstItem 寸应页第一行的索引值lastitem -对应页最后一行的索引值三、项目中使用 pager-taglib :1、引入对应的标签库:html view pla in copy1.v% taglibprefix =c uri=http:/ html view pla in copy1. 2.2. 4.3. 6.4. 首页 8.9.10.11.vpg:prev12.13.vahref ahref =$pageUrl 前页 14.15.16.17.18.19.

4、20.21.22.23.vfontcolor fontcolor =red $pageNumber 24.25.26.27.28.29.vahref ahref =$pageUrl $pageNumber 30.31.32.33.34.35.36.37.38.39.vahref ahref =$pageUrl 后页 40.41.42.43.vpg:last44.45.vahref ahref =$pageUrl 尾页 v/a46.47.v/pg:last48.49.v/pg:pager需要注意的是:很多时候,在不同的页面中跳转的时候, 需要传递一个id,在保持这个数据的时候,不能直接跟在url

5、后面,需要使用 来传递。为了给当前页添加一些特殊的效果,使用curre ntPageNumber给pageNumber 指定了一个别名,这是为了 test=$currentPageNumber eq pageNumber 判断的需要。Items表示:返回来的总记录数,由此,该框架采用的是假分页。url :指明了请求的入口地址,是与struts的配置文件struts-config.xml中的配置相关联。3、设置offset禾口 pagesize 变量的值:比较好的做法是在系统变量类中,将其设置到ThreadLocal变量中这里将其圭寸装到了 SystemContext类中:java view p

6、la in copy1.publicclass SystemContext 2.3.privatestatic ThreadLocal offset =new ThreadLocal();4.5.privatestatic ThreadLocal pagesize =new ThreadLocal();6.7.8.publicstaticint getOffset()9.10.Integeros = (Integer)offset.get();11.12.if (os= null )13.14.return。;15.16.returnos;17.18.19.20.21.22.23.24.25.

7、26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.publicstaticvoid setOffset( int offsetvalue)offset.set(offsetvalue);publicstaticvoid removeOffset()offset.remove();publicstaticint getPagesize()Integerps = (lnteger)pagesize.get();if (ps= null )retu

8、rnlnteger.MAX_VALUE;returnps;publicstaticvoid setPagesize( int pagesizevalue)pagesize.set(pagesizevalue);publicstaticvoid removePagesize()pagesize.remove();v/span4、定义分页过滤器PagerFilter :该过滤器调用 SystemContext类的方法,给offset和pagesize变量赋值java view pla in copy1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20

9、.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.Filter publicclass PagerFilterimplementsOverridepublicvoid destroy。Overridepublicvoid doFilter(ServletRequest request, ServletResponseresponse,FilterChain chain)throws IOException, ServletExceptionHttpServletRequest httpRequest = (HttpServletRequest)requ

10、est;SystemContext.setOffset(getOffset(httpRequest);SystemContext.setPagesize(getPagesize(httpRequest);try chain.doFilter(request, response); finally /清空ThreadLocal 中的值SystemContext.removeOffset();SystemContext.removePagesize();36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.6

11、0.61.62.63.64.65.66.67.68.69.70.protectedint getOffset(HttpServletRequest request) int offset =0;try offset = lnteger.parselnt(request.getParameter( catch (NumberFormatException ignore) return offset;protectedint getPagesize(HttpServletRequest request)return 10;Overridepublicvoid init(FilterConfig arg0)throwsv/spanpager.offset );ServletException offset = In teger.parsel nt(equest.getPaamete(page.offset);参数是固定的。中的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号