我在这里简单的介绍一下利用The Pager Tag Library 实现分页功能的步骤:
1: 在应用服务器中,你所应用到项目的web-inf/web.xml中的<web-app>...</web-app> 标签中添加:
<taglib>
<taglib-uri>
http://jsptags.com/tags/navigation/pager //可以更改
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/pager-taglib.tld //指明pager-taglib.tld存放的位置
</taglib-location>
</taglib>
2: 到http://jsptags.com/tags/navigation/pager/下载pager-taglib-2.0.war包,解压后可获得pager-taglib.jar,将其放到web-inf/lib/包下。pager-taglib.tld可以到/WEBINF/jsp/包下。
3:在所需要分页的jsp页面顶部添加:<%@ taglib uri="http://jsptags.com/tags/navigation/pager " prefix="pg" %>
4:
<% totalItems = list.size(); //接收到的list
String style = “simple“
Sing position = "both"; //top bottom
int maxPageItems =1; //每页显示数据的个数
int maxIndexPages = 4;//显示跳转页面的个数
String index = "center";
%>
<pg:pager
items="<%= totalItems %>"
index="<%= index %>"
maxPageItems="<%= maxPageItems %>"
maxIndexPages="<%= maxIndexPages %>"
export="offset,currentPageNumber=pageNumber"
scope="request">
<pg:param name="style"/>
<pg:param name="position"/>
<pg:param name="index"/>
<pg:param name="maxPageItems"/>
<pg:param name="maxIndexPages"/>
<input type="hidden" name="pager.offset" value="<%= offset %>">
<%-- warn if offset is not a multiple of maxPageItems --%>
<% if (offset.intValue() % maxPageItems != 0 &&
("alltheweb".equals(style) || "lycos".equals(style)) )
{
%>
<p>Warning: The current page offset is not a multiple of Max. Page Items.
<br>Please
<pg:first><a href="<%= pageUrl %>">return to the first page</a></pg:first>
if any displayed range numbers appear incorrect.</p>
<% } %>
// 显示跳转的jsp;
<% if ("top".equals(position) || "both".equals(position)) { %>
<pg:index><jsp:include page="paging-links.jsp" flush="true"/></pg:index>
<% } %>
<% for(int i = 0; i <size; i++ ){%>
<pg:item>
<td> <%= list.get(i)%></td> // 简单的显示数据;
</pg:item>
<%
}
%>
</pg:pager>
5. paging-links.jsp 如下:或者参照jsptags中的示范copy你所需要的显示格式
<%@ page session="false" %>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager " prefix="pg" %>
<table width=100% cellpadding=2 cellspacing=0 border=0 bgcolor=e3e9f8>
<tr><td><font face=arial size=2> <b>Matches</b></font>
</td><td align=right nowrap width=1%><font face=arial size=-1>
<pg:index export="total=itemCount">
<pg:page export="first,last">
<%= first %> - <%= last %> of <%= total %>
</pg:page>
<pg:first export="url" unless="current">
<b><a href="<%= url %>">First Page</a></b> |
</pg:first>
<pg:prev export="url,first,last">
<% int prevItems = (last.intValue() - first.intValue()) + 1; %>
<b><a href="<%= url %>">Previous <%= prevItems %></a></b>
</pg:prev>
<pg:next export="url,first,last">
<% int nextItems = (last.intValue() - first.intValue()) + 1; %>
| <b><a href="<%= url %>">Next <%= nextItems %></a></b>
</pg:next>
</font></td></tr>
</table>
</pg:index>