Posted on 2008-08-06 22:28
G_G 閱讀(1528)
評論(0) 編輯 收藏 所屬分類:
JspTag
->
http://displaytag.sourceforge.net分頁流程描述:
? 1.組合查詢參數(shù)得取。
??? 比如時間范圍,用戶名模糊查詢。。這些存入 session->data;name
? 2.通過持久層得到 ‘?dāng)?shù)據(jù)總條數(shù)’‘當(dāng)前展現(xiàn)頁數(shù)據(jù)’;
? 3.分頁點(diǎn)擊;根據(jù)session 組合參數(shù),再次向數(shù)據(jù)庫申請書及。
代碼:
<jsp:root?version="1.2"?xmlns:jsp="http://java.sun.com/JSP/Page"
????xmlns:display="urn:jsptld:http://displaytag.sf.net">
????<jsp:directive.page?import="java.util.regex.Pattern"?/>
????<jsp:directive.page?import="test.Bean"?/>
????<jsp:directive.page?import="java.util.ArrayList"?/>
????<jsp:directive.page?import="java.util.List"?/>
????<jsp:directive.page?contentType="text/html;?charset=UTF-8"?/>
????<jsp:include?page="inc/header.jsp"?flush="true"?/>
<jsp:scriptlet>?<![CDATA[
????Pattern?pattern?=?Pattern.compile("d-[0-9]+-p");
????String?pageIndexName?=?null?;
????for(Object?otmp?:?request.getParameterMap().keySet()?){
????????if(?pattern.matcher(otmp.toString()).find()?){
????????????pageIndexName?=?otmp.toString();
????????????break;
????????}?
????}
????
????
????int?pageSize?=?10;???//每頁顯示的條數(shù)
????int?pageIndex?=?0?;
????if(pageIndexName!=null){
????????pageIndex?=?(request.getParameter(pageIndexName)==null)?
????????????????0:(Integer.parseInt(request.getParameter(pageIndexName))?-?1);??//當(dāng)前頁數(shù)
????}
????
????????????
?????List?list?=?new?ArrayList();???
?????for(int?i=0;i<pageSize;i++){
?????????list.add(?new?Bean(pageIndex*10+i,"liu-"+pageIndex*10+i)??);
?????}
????request.setAttribute("data",list);
????session.setAttribute(?"resultSize",?100?);
????out.print("!"+pageIndexName);
????]]></jsp:scriptlet>
????<h2>數(shù)據(jù)分頁展現(xiàn)開始</h2>
????<display:table?name="data"?pagesize="10"?partialList="true"
????????size="sessionScope.resultSize">
????????<display:column?property="id"?title="ID"></display:column>
????????<display:column?property="name"?title="名字"></display:column>
????</display:table>
????
????
????<jsp:include?page="inc/footer.jsp"?flush="true"?/>
</jsp:root>