首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

goTag:輕量級 JSP 分頁標籤庫使用指南與原始碼解析

     編輯:Java 相關知識

goTag 是一個零依賴、極簡易用的 JSP 分頁標籤庫,將 List 集合自動分頁,支援首/尾頁、上/下頁、下拉跳轉,適合中小型專案快速整合。

快速開始

  1. 將 go-1.0.jar 放入 WEB-INF/lib
  2. 頁面引入:<%@ 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)

生成 HTML 範例 (第 1 頁、共 20 頁、每頁 5 筆)

<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&amp;pageNo=1">首頁</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=20">尾頁</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=1">上一頁</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=2">下一頁</a>]</span>
<span>跳轉至第<select onchange="window.location.href='go.jsp?method=list&amp;pageNo='+this.value">
    <option value="1" selected>1</option>...<option value="20">20</option>
</select>頁</span>

注意事項與限制

  1. url 不可包含 pageNoName 參數,否則產生重複參數
  2. 單頁面不可多次使用 <go:go> (內部狀態衝突)
  3. 不快取 source 集合:大集合 (萬筆以上) 會佔用大量請求記憶體,建議改用資料庫層分頁 (Limit/Offset)
  4. 僅支援 List 介面實作類

適用場景建議

  • ✅ 後台管理、報表、資料量 < 5000 筆的內部系統
  • ✅ 原型開發、快速驗證、避免引入重型框架
  • ❌ 高併發、大資料量、公開網站、需要 SEO 的分頁
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved