Posted on 2008-01-29 15:57
G_G 閱讀(1526)
評論(0) 編輯 收藏 所屬分類:
JspTag
使用:pager-taglib-2.0
官方:http://jsptags.com/tags/navigation/pager
使用頁面:
<%@?taglib?prefix="pg"?uri="/WEB-INF/pager-taglib.tld"?%>
<%@?page?language="java"?import="java.util.*"?pageEncoding="ISO-8859-1"%>
<%
String?path?=?request.getContextPath();
String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
<html>
??<head>
????<base?href="<%=basePath%>">
????
????<title>My?JSP?'pg.jsp'?starting?page</title>
????
????<meta?http-equiv="pragma"?content="no-cache">
????<meta?http-equiv="cache-control"?content="no-cache">
????<meta?http-equiv="expires"?content="0">????
????<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">
????<meta?http-equiv="description"?content="This?is?my?page">
????<!--
????<link?rel="stylesheet"?type="text/css"?href="styles.css">
????-->
<%!
?private?static?final?String?getParam(ServletRequest?request,?String?name,
????String?defval)
{
????String?param?=?request.getParameter(name);
????return?(param?!=?null???param?:?defval);
}
private?static?final?int?getParam(ServletRequest?request,?String?name,
????int?defval)
{
????String?param?=?request.getParameter(name);
????int?value?=?defval;
????if?(param?!=?null)?{
????try?{?value?=?Integer.parseInt(param);?}
????catch?(NumberFormatException?ignore)?{?}
????}
????return?value;
}
%><%
???String?style?=?getParam(request,"style",?"simple");
????String?position?=?getParam(request,?"position",?"top");
????String?index?=?getParam(request,?"index",?"center");
????int?maxPageItems?=?getParam(request,?"maxPageItems",?10);
????int?maxIndexPages?=?getParam(request,?"maxIndexPages",?10);
????
????List?list?=?new?ArrayList();
????for(int?i=0;i<1000;i++){
????????list.add(i);
????}?%>
??</head>
??
??<body>
<form?action="<%=?request.getRequestURI()?%>"?method="get">
<center>
????
<pg:pager
????items="<%=?list.size()?%>"
????index="<%=?index?%>"
????maxPageItems="<%=?maxPageItems?%>"
????maxIndexPages="<%=?maxIndexPages?%>"
????isOffset="<%=?true?%>"
????export="offset,currentPageNumber=pageNumber"
????scope="request">
???????
????<pg:index>
???????<!--?引用標簽頁面???-->
??????<jsp:include?page="../jsp/texticon.jsp"?flush="true"/>
????</pg:index>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
??<hr>
??<table?width="90%"?cellspacing="4"?cellpadding="4">
??<!--?這里參數(shù)?l為結(jié)尾數(shù)?i->offset.intValue()?起點數(shù)???-->
??<%for?(int?i?=?offset.intValue(),
?????????????l?=?Math.min(i?+?maxPageItems,?list.size());
?????????i?<?l;?i++)
????{%>
????
????<pg:item>
????????????????<tr>
????????????????????<th>
????????????????????????<font?color="<%=?list.get(i)?%>"><%=?i?+?1?%></font>
????????????????????</th>
????????????????</tr>
????</pg:item>
????<%}%>
??</table>
??<hr>
</pg:pager>
??</body>
</html>
定義分頁標簽樣式頁:
<%@?page?session="false"?%>
<%@?taglib?uri="http://jsptags.com/tags/navigation/pager"?prefix="pg"?%>
<jsp:useBean?id="currentPageNumber"?type="java.lang.Integer"?scope="request"/>
<font?face="fixed">
<pg:first?export="firstPageUrl=pageUrl"?unless="current">
??<a?href="<%=?firstPageUrl?%>">|<</a>
</pg:first>
<pg:skip?export="skipBackPageUrl=pageUrl"?pages="<%=?-10?%>">
??<a?href="<%=?skipBackPageUrl?%>"><<<</a>
</pg:skip>
<pg:prev?export="prevPageUrl=pageUrl">
??<a?href="<%=?prevPageUrl?%>"><<</a>
</pg:prev>
<pg:pages><%
??if?(pageNumber?==?currentPageNumber)?{
????%>?<b><%=?pageNumber?%></b>?<%
??}?else?{
????%>?<a?href="<%=?pageUrl?%>"><%=?pageNumber?%></a>?<%
??}
%></pg:pages>
<pg:next?export="nextPageUrl=pageUrl">
??<a?href="<%=?nextPageUrl?%>">>></a>
</pg:next>
<pg:skip?export="skipForwardPageUrl=pageUrl"?pages="<%=?10?%>">
??<a?href="<%=?skipForwardPageUrl?%>">>>></a>
</pg:skip>
<pg:last?export="lastPageUrl=pageUrl"?unless="current">
??<a?href="<%=?lastPageUrl?%>">>|</a>
</pg:last>
</font>