最近,用来练手的小案例中,需要用到分页这么一功能。由于是第一次做JavaWeb方面的东西,所以上网搜了不少资料。最后,使用了Pager-taglib这一组件,发现还挺好用。故将其用法进行简单记录,方便以后进行回顾。
首先,自然是下载组件,并将pager-taglib.jar放入/web-inf/lib目录下。
其次,引入标签库。
<%@taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
再者,书写标签体。
<table cellpadding="0" cellspacing="0">
<tr>
<th>ID</th>
<th>用户名</th>
<th>角色</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>电子邮箱</th>
<th>联系电话</th>
<th>状态</th>
</tr>
<c:forEach items="${requestScope.users}" var="item">
<tr>
<td>${item.userID}</td>
<td>${item.userName }</td>
<td>${item.roleName }</td>
<td>${item.name }</td>
<td>${item.gender }</td>
<td>${item.age }</td>
<td>${item.email }</td>
<td>${item.telephone }</td>
<td>${(item.state=="0")?"不在线":"在线" }</td>
</tr>
</c:forEach>
</table>
<!--
url:指点击页数后,程序将执行的方法。
items:指记录总数,该组件根本这个数计算出要分多少页。
maxPageItems:每页最多显示多少条数据。
maxIndexPages:最多显示多少页。例如:10,则首页12345678910下一页尾页
export:需要暴露的变量。一般默认即可。
<pg:param name="xxx">这个标签可以增加需要传入后台的参数
<pg:first>像first prev这些标签,和字面意思相同,即表示第一页前一页。
另,下面有一些常用的pager属性:
pageUrl:分页的链接,后面自动带有参数。
pageNumber:页号。
pager.offset:pageUrl后面带的参数,表示该页的第一个元素的索引。对数据库分页有用。
-->
<pg:pager url="/clinic/usermanage" items="${requestScope.total}" maxPageItems="10" maxIndexPages="10">
<pg:index>
<pg:first><a href="${pageUrl}">首页</a></pg:first>
<pg:prev><a href="${pageUrl}">上一页</a></pg:prev>
<pg:pages><a href="${pageUrl}">${pageNumber}</a></pg:pages>
<pg:next><a href="${pageUrl}">下一页</a></pg:next>
<pg:last><a href="${pageUrl}">尾页</a></pg:last>
</pg:index>
</pg:pager>
这样,一个简单的分页功能就完成了。