2009-06-30 13:58
1: 我们需要下载page标签的jar包; pager-taglib.jar
[样例代码]: http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.war
解压war文件 在{..}\WEB-INF\lib\pager-taglib.jar
2:把这个jar 拷贝到你的web工程的lib中;
3: 3-1 该标签需要我们提供1个最关键的参数 ---》 总数据量 select count(*)的值
3-2 每页显示的记录数
3-3 页码的个数
3-4 你的这个应用的url
3-5 如果你的这个应用有参数的场合 你需要设置url的参数
4:默认的场合查询数据库的开始索引 的参数名称为pager.offset
5:
后台的处理
后台的action中 在request.getParameter("pager.offset"); 里得到查询数据库的开始索引
并计算查询的总数据量并将计算的结果保存在requset.setAttribute('totalpage');
把相关的查询结果设置到requset.setAttribute('xxlist');
6: 前台处理
在相应jsp页面上添加 <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
取得count(*)的值
<%
Integer totalPage = (Integer)request.getAttribute("totalPage");
%>
<pg:pager
items="<%=totalPage%>" ----》count(*)值
index="center" (忽略)
maxPageItems="5" 每页显示的多少行数据 这个参数和我们hibernate中 maxResult 是一致的
maxIndexPages="10" 显示的最大页码
isOffset="<%= true %>" (忽略)
export="offset,currentPageNumber=pageNumber" (忽略)
scope="request" (忽略)
url="stdM.do"> 你的具体业务的url(忽略)
<pg:param name="method" value="list"/> url 固定的参数设置可以有多个
数据的迭代
<c:forEach items="${stdList}" var="std">
<tr>
<td>${std.id}</td>
<td>${std.name}</td>
<td>${std.classes.name}</td>
<tr>
</c:forEach>
如何显示页码的程序
<pg:index> 页码的标签
<pg:prev export="pageUrl" ifnull="<%= true %>"> 前一页的标签
<% if (pageUrl != null) { %> 第一页的时候没有上一页的判断
<a href="<%= pageUrl %>">[上一页]</a>
<% } %>
</pg:prev>
<pg:pages>
<% if (pageNumber == currentPageNumber) { %> 判断那个是当前页 当前页没有连接并变颜色
<font color=#A90A08><%= pageNumber %></font>
<% } else { %>
<a href="<%= pageUrl %>"><%= pageNumber %></a>
<% } %>
</pg:pages>
<pg:next export="pageUrl" ifnull="<%= true %>"> 下一页的标签
<% if (pageUrl != null) { %> 最后一页的时候没有下一页的判断
<a href="<%= pageUrl %>">[下一页]</a></td>
<% }%>
</pg:next>
</pg:index>
</pg:pager>