goTag 是一個零依賴、極簡易用的 JSP 分頁標籤庫,將 List 集合自動分頁,支援首/尾頁、上/下頁、下拉跳轉,適合中小型專案快速整合。
go-1.0.jar 放入 WEB-INF/lib<%@ taglib prefix="go" uri="https://www.zlex.org/tag/go" %><%
List<String> list = new ArrayList<>();
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>
<c:forEach items="${pageList}" var="l">
<c:out value="${l}" /><br/>
</c:forEach>
</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 | 請求基礎 URL (不可含 pageNoName 參數) | 必填 |
pageNo | 當前頁碼 | 必填 |
pageNoName | 頁碼參數名 | pageNo |
source | 待分頁原始集合 | 必填 |
pageListName | 分頁後集合變數名 (EL 可用) | pageList |
pageSize | 每頁筆數 | 10 |
<go:pageNo />:輸出當前頁碼<go:pageCount />:輸出總頁數<go:first />:首頁 URL<go:last />:尾頁 URL<go:previous />:上一頁 URL<go:next />:下一頁 URL<go:select />:生成 <select> 下拉跳轉選單 (含 onchange 跳轉 JS)<div><br/>1<br/>2<br/>3<br/>4<br/>5<br/><br/></div>
<span>第1頁,共20頁</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 onchange="window.location.href='go.jsp?method=list&pageNo='+this.value">
<option value="1" selected>1</option>...<option value="20">20</option>
</select>頁</span>
url 不可包含 pageNoName 參數,否則產生重複參數<go:go> (內部狀態衝突)List 介面實作類