现在的位置: 首页 > 综合 > 正文

Pager-taglib 2.0分页标签库入门

2014年09月29日 综合 ⁄ 共 3407字 ⁄ 字号 评论关闭
Pager-taglib 2.0分页标签库入门

 

下载源代码


 

pager-taglib 使用方法

1、拷贝pager-taglib.jar包到你的应用的\WEB-INF\lib下;
2、在JSP页面中使用taglib指令引入pager-taglib标签库,一般会和jstl标记一起使用:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>

3、使用pager-taglib标签库进行分页处理
要分页的数据一般要从后台数据库取出,根据前台传入的要显示的页数参数p每次取一页数据,放入一个list中,在前台用类似下面语句取出。

<c:set var="results" value="$ {requestScope['tongji.pager'].list}" />

然后用循环语句输出一页数据。
<c:forEach items="$ {results}" var="tj">
<table>
<tr><td>编号:</td><td><c:out value="$ {tj.id}" /></td></tr>
<tr><td>姓名:</td><td><c:out value="$ {tj.name}" /></td></tr>
<tr><td>班级:</td><td><c:out value="$ {tj.classes}" default="没填" /></td>
<tr><td>操作选项:</td><td><a href="$ {ctx}/admin/manageTongji?q=edit&id=$ {tj.id}">编辑</a>
<a href="$ {ctx}/admin/manageTongji?q=delete&id=$ {tj.id}">删除</a></td>
</tr>
</table>
</c:forEach>
下页就是写分页条了:

<pg:pager url="/admin/getPage"
items="$ {requestScope['tongji.pager'].maxElements}"
maxPageItems="$ {initParam.pageSize}"
maxIndexPages="10"
export="offset,currentPageNumber=pageNumber">
<pg:param name="sa" value="N"/>
<pg:index export="totalItems=itemCount">
<pg:page export="firstItem, lastItem">
<div>
显示结果<strong>$ {firstItem}-$ {lastItem}</strong> 共搜索到 <strong>$ {totalItems}</strong> 条记录
</div>
</pg:page>
<div>
<span>Results:</span>&nbsp;
<pg:prev export="pageUrl">
<a href="$ {pageUrl}&p=$ {currentPageNumber-1}">&#171;&nbsp;Prev</a>&nbsp;</pg:prev>
<pg:pages export="pageUrl,pageNumber,firstItem,lastItem">
<c:choose>
<c:when test="$ {currentPageNumber eq pageNumber}">&nbsp;<span>$ {firstItem}-$ {lastItem}</span>

</c:when>
<c:otherwise>
&nbsp;<a href="$ {pageUrl}&p=$ {pageNumber}">$ {firstItem}-$ {lastItem}</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next export="pageUrl">&nbsp;&nbsp;
<a href="$ {pageUrl}&p=$ {currentPageNumber+1}">Next&nbsp;&#187;</a></pg:next>
</div>
</pg:index>
</pg:pager>

<pg:pager>【这个标签用来设置分页的总体参数】重要参数说明:
url:分页的链接根地址,pager标签会在这个链接上附加分页参数pager.offset,后台可根据这个参数分
页, 也可自行在URL上添加参数。

items:总记录数,pager标签正是根据这个值来计算分页参数的

maxPageItems:每页显示的行数,默认为10

maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10

export:这个属性比较重要,这个属性是让标签给你暴露什么变量,当然这些变量是有选择的,如在Pager标签里,可以暴露出来的变量有 pageOffset及pageNumber,即页码偏移量及页码。通过这两个变量名,可以在Jsp或Java里面从Request里获得。Export属性接受的值还有表达式,
如currentPage=pageNumber表示,把pageNumber的值暴露出来,并赋给一个叫CurrentPage的变量,这个变量将被保存到Request中,在Jsp或Java中可以得到。

<pg:param>这个标签很有用,用来设置将要加入到URL的参数,将传入后台。使用Name属性指定即可。

<pg:index>这个标签说明分页条显示的内容,它可以包含下面这些标记。

<pg:first>【第一页的标签】重要参数说明:
export变量的意义:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber - 页码
firstItem - 首页第一条记录的索引值
lastItem - 首页最后一条记录的索引值

<pg:prev>【上一页标签】重要参数说明:
export变量的意义:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber - 页码

<pg:next>【下一页标签】重要参数说明:
export变量的意义:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber - 页码

<pg:last>重要参数说明:
export变量的意义:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber - 页码

<pg:pages>【这个标签用来循环输出页码信息】重要参数说明:
export变量的意义:
pageUrl - 分页链接URL地址(最重要的export参数)
pageNumber - 页码
firstItem - pageNumber这个页码指定的那一页的第一行的索引值
lastItem - pageNumber这个页码指定的那一页的最后一行的索引值

例:
<pg:pager url="$ {ctx}/admin/getPage"
items="$ {requestScope['tongji.pager'].maxElements}"
maxPageItems="$ {initParam.pageSize}"
maxIndexPages="10">
<pg:index>
<pg:first unless="current"><a href="$ {pageUrl}&p=$ {pageNumber}">首页</a></pg:first>
<pg:prev><a href="$ {pageUrl}&p=$ {pageNumber}">上一页($ {pageNumber})</a></pg:prev>
<pg:pages><a href="$ {pageUrl}&p=$ {pageNumber}">$ {pageNumber}</a> </pg:pages>
<pg:next><a href="$ {pageUrl}&p=$ {pageNumber}">下一页($ {pageNumber})</a></pg:next>
<pg:last unless="current"><a href="$ {pageUrl}&p=$ {pageNumber}">尾页</a></pg:last>
</pg:index>
</pg:pager>

【上篇】
【下篇】

抱歉!评论已关闭.