引用尚学堂paper-taglib的文章:
- 1、拷贝pager-taglib.jar包
- 2、在JSP页面中使用taglib指令引入pager-taglib标签库
- 3、使用pager-taglib标签库进行分页处理
我的实际应用:
把相应的jar包导入到工程之后,在前台页面引入标签文件。
然后在要放入分页链接的地方插入如下代码:
前台页面:
- <pg:pager items="${size}" maxIndexPages="5" url="orgnization.do" maxPageItems="3" export="currentPageNum=pageNumber">
- <!--
- url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数
- items:总记录数,pager标签正是根据这个值来计算分页参数的
- maxPageItems:每页显示的行数,默认为10
- maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10
- export里面的内容为:设置当前页面
- -->
- <pg:param name="method"/>
- <!-- 在连接时要插入的变量。他自动赋值添加到url?的后面。 -->
- <pg:first>
- <a href="${pageUrl }">首页</a>
- <!--连接地址就为${pageUrl} ,具体值会自动计算 -->
- </pg:first>
- <pg:prev>
- <a href="${pageUrl }">上一页</a>
- </pg:prev>
- <pg:pages>
- <!-- 页面跳转 -->
- <c:if test="${currentPageNum == pageNumber}">
- <font color="red">${pageNumber }</font>
- </c:if>
- <!-- 当当前页面和循环的页面数字相等时用红色表示 -->
- <c:if test="${ currentPageNum != pageNumber}">
- <a href="${pageUrl}" >${pageNumber }</a>
- </c:if>
- <!-- 不相等时,显示一个连接 -->
- </pg:pages>
- <pg:next>
- <a href="${pageUrl }">下一页</a>
- </pg:next>
- <pg:last>
- <a href="${pageUrl }">尾页</a>
- </pg:last>
- </pg:pager>
含分页处理的xxAction:
- String off = request.getParameter("pager.offset");
- int offset = 0;
- if(off != null){
- offset = Integer.parseInt(off);
- }
- int num = 10; //每页显示的数量
- List list = getOrgnizationService().findAllByParentId(id,offset,num);
- request.setAttribute("orgList", list);
- String size = getOrgnizationService().getSizeById(id); //list的总大小
- request.setAttribute("size", size);
对与分页处理的业务函数:
- public List findAllById(int parId, int offset, int num) {
- String partHql = null;
- List list = null;
- if(parId != 0){
- partHql = "from Orgnization where orgnization.orgId = "+parId;
- }else{
- partHql = "from Orgnization where orgnization is null";
- }
- list = getSession().createQuery(partHql).setFirstResult(offset).setMaxResults(num).list();
- // 设置list的起始位置为offset,显示大小为num。
- return list;
- }