<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>