分頁
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> 收尾