Posted on 2008-04-01 16:13
G_G 閱讀(2090)
評(píng)論(1) 編輯 收藏 所屬分類:
JspTag
上一個(gè)blog中 粗略的使用了下
分頁(yè)標(biāo)簽使用 pg使用問題還是有很多 如 分頁(yè)中亂碼、多java代碼塊
下面用一個(gè) <jsp:include >來(lái)解決這些問題。
??? <!-- 使用寫好的分頁(yè)jsp 當(dāng)中需要參數(shù)為 count 總結(jié)果個(gè)數(shù) / maxPageItems(可選默認(rèn)10)頁(yè)面顯示行數(shù) / goUrl (可選默認(rèn)本頁(yè)) 跳轉(zhuǎn)路徑 /? params? request中參數(shù) 應(yīng)為亂碼問題 傳給下一個(gè)頁(yè)面 需要使用URLDecoder.decode(...) 如:String productName = URLDecoder.decode( request.getParameter("productName")==null?"":request.getParameter("productName"),"utf8" );
??? ?
??? -->
??? <jsp:include?page="../jspUtil/page.jsp">
????????<jsp:param?name="count"?value="<%=OrderServiceImp.getOrdersCount(beginTime,endTime,userName,companyName,productName,null,zq)%>"??/>
????????????<jsp:param?name="maxPageItems"?value="10"?/>
????????
????????????<jsp:param?name="goUrl"?value="/zhongqi/seleProduct.do"?/>
????????
????????<jsp:param?name="params"?value="beginTime"?/>
????????<jsp:param?name="params"?value="endTime"?/>
????????<jsp:param?name="params"?value="userName"?/>
????????<jsp:param?name="params"?value="companyName"/>
????????<jsp:param?name="params"?value="productName"?/>
????????
????</jsp:include>
page.jsp
<%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%>
<%@page?import="java.net.URLEncoder"%>
<%@page?import="java.net.URLDecoder"%>
<%@?taglib?prefix="pg"?uri="/WEB-INF/pager-taglib.tld"?%>
<%
????int?count?=?Integer.parseInt(?request.getParameter("count")?);
????int?maxPageItems?=?Integer.parseInt(?request.getParameter("maxPageItems")==null?"10":request.getParameter("maxPageItems")?);
????
????//參數(shù)設(shè)置?<jsp:param?name="params"?value="xx"??/>
????String[]?params?=?(String[])request.getParameterMap().get("params");
????
????String?goUrl?=?request.getParameter("goUrl");
????
%>
<div?id="bgee">
<div?align="center">
<pg:pager
??id="pager"
??url="<%=goUrl%>"
??items='<%=count%>'
??maxPageItems="<%=maxPageItems?%>"
??export="offset,currentPageNumber=pageNumber"
??isOffset="false"
??scope="request">
??
?? <%?
????for(?String?str?:?params?)?{
????????if?(request.getParameter(str)?!=?null?&&?!request.getParameter(str).equals(""))?{%>
????????????????<pg:param?name="<%=str?%>"?value='<%=?URLEncoder.encode(?URLDecoder.decode(request.getParameter(str),"utf-8"),"utf-8")%>'/>
????????<%?}
??? }%>
<pg:index>
<pg:prev?ifnull="true">
<span>
??????<%?if?(pageUrl?!=?null)?{?%>
????????<A?HREF="<%=?pageUrl?%>"><?上一頁(yè)</A>
??????<%?}?%>
</span>
</pg:prev>
??<pg:pages?export="pageUrl,?pageNumber">
<%?if?(pageNumber?==?currentPageNumber)?{?%>
?<span><%=?pageNumber?%></span>
<%}?else?{%>
?<a?href='<%=pageUrl%>'><%=?pageNumber?%></a>
<%}%>
</pg:pages>
<pg:next?ifnull="true">
<%?if?(pageUrl?!=?null)?{?%>
??<a?href='<%=pageUrl%>'>下一頁(yè)?></a>
<%}%>
</pg:next>
</pg:index>
</pg:pager>
????</div>
</div>