迫於對web頁面記錄集做分頁處理,自己實現了這個用於分頁的標籤,與大家共享。
這是一個簡單的web頁面分頁標籤。通過這個標籤可以將傳入的記錄集進行分頁顯示,你可以通過設置參數控制每頁顯示的記錄條數。用戶界面也較爲簡單實用,提供首頁、尾頁、上一頁、下一頁和直接跳轉方式轉向指定頁面展示您所需要的記錄集。
使用方法:
將go-1.0.jar放到你的WEB-INF/lib目錄下
在頁面引入標籤
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
可參考如下代碼使用:
<% List<String> list = new ArrayList<String>(); for (int i = 1; i <= 100; i++) { list.add(String.valueOf(i)); } request.setAttribute("list", list); %> <c:set var="goUrl" value="go.jsp?method=list" scope="request" /> <c:choose> <c:when test="${empty param.pageNo}"> <c:set var="pageNo" value="1" scope="request" /> </c:when> <c:otherwise> <c:set var="pageNo" value="${param.pageNo}" scope="request" /> </c:otherwise> </c:choose> <go:go url="${goUrl}" pageNo="${pageNo}" pageNoName="${pageNo}" source="${list}" pageListName="${pageList}" pageSize="5"> <div> <br /> <c:forEach items="${pageList}" var="l"> <c:out value="${l}" /> <br /> </c:forEach> <br /> </div> <span>第<go:pageNo />頁,共<go:pageCount />頁</span> <span>[<a href="<go:first />">首頁</a>]</span> <span>[<a href="<go:last />">尾頁</a>]</span> <span>[<a href="<go:previous />">上一頁</a>]</span> <span>[<a href="<go:next />">下一頁</a>]</span> <span>跳轉至第<go:select />頁</span> </go:go>
其中,url爲請求地址,pageNo爲當前頁號,pageNoName爲頁號參數名(可選,默認爲pageNo),source爲待分頁的源列表,pageListName爲分頁集合名(可選,默認爲pageList),pageSize爲每頁顯示記錄的最多條數(可選,默認爲10條記錄)。
當我們在Request請求中給定屬性"${url}"值爲http://localhost:8080/goTag/go.jsp?method=list,"${pageNo}"值爲1,如果設定的"${list}"總共有100條記錄,"${pageSize}"值爲5,即每頁顯示5條記錄,可生成如下頁面:
<div>
<br />
1
<br />
2
<br />
3
<br />
4
<br />
5
<br />
<br />
</div>
<span>第1頁,共5頁</span>
<span>[<a href="go.jsp?method=list&pageNo=1">首頁</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=20">尾頁</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=1">上一頁</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=2">下一頁</a>]</span>
<span>跳轉至第<select
οnchange="window.location.href='go.jsp?method=list&pageNo='+this.value">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>頁</span>
注意事項:
1.在設定go標籤屬性url的時候,請確保該值不會包含go標籤屬性pageNoName的值。
2.請不要在同一個頁面內使用1套以上的<go:go />標籤。
3.未對source參數做緩存處理,請避免使用大集合以免影響性能。