<div> <%
Integer pageNo = (Integer) request.getAttribute("pageNo"); Integer count = (Integer) request.getAttribute("count"); Integer pageCount = count / 5 + 1; if (pageNo == 1) { %
<span class="unuse">[第一頁]</span> <span class="unuse">[上一頁]</span>
<%
} else { %>
<span><a href="?pageNo=1">[第一頁]</a></span>
<span><a href="?pageNo=<%=pageNo - 1%>">[上一頁]</a></span> <% } %>
<%
for (int i = 1; i <= pageCount; i++) { if (i == pageNo) { %>
<span class="currentPage"><%=i%></span> <%
} else { %>
<span><a href="?pageNo=<%=i%>"><%=i%></a></span> <% } } %> <%
if (pageNo == pageCount) { %>
<span class="unuse">[下一頁]</span> <span class="unuse">[最後一頁]</span> <%
} else { %>
<span><a href="?pageNo=<%=pageNo + 1%>">[下一頁]</a></span> <span><a href="?pageNo=<%=pageCount%>">[最後一頁]</a></span> <% } %>
<form style="display:inline;"> <select name="pageNo"> <%
for (int i = 1; i <= pageCount; i++) { %>
<option value="<%=i%>" <%=(i == pageNo ? "selected" : "")%>><%=i%></option> <% } %>
</select>
<input type="submit" value="go" /> </form> </div>
1.資料庫分頁
所謂的分頁,就是要查詢的資料太多了,一次性顯示出來的話,既不容易檢視也影響性能。
// 獲得目前頁碼
int pageNo = 1;
try {
pageNo = Integer.parseInt(request.getParameter("pageNo"));
} catch(Exception ex) { }
if (pageNo < 1) { pageNo = 1; }
request.setAttribute("pageNo", pageNo);
這裡pageNo代表目前的頁碼,如果沒有傳遞pageNo參數,預設顯示第一頁,為此我們在解析request中參數時要捕獲對應的異常,如果沒有輸入或者參數不是一個數字時pageNo就還是等于1
JSP頁面:
<form style="display:inline;"> <select name="pageNo"> <%
for (int i = 1; i <= pageCount; i++) { %>
<option value="<%=i%>" <%=(i == pageNo ? "selected" : "")%>><%=i%></option> <% } %>
</select>
<input type="submit" value="go" /> </form>