Pager Tag Library

Advertisement

Pager Tag Libraryとは

Pager Tag Libraryを利用すると、柔軟なページング(ページ切り替え)機能を簡単に実現することができる。また、GoogleやYahooなどのように、よく知られているサイトのページング機能を簡単に再現することも出来る。

イメージ

適用前
長いリストに…

適用後
ページング機能を!

実際の動作イメージはオフィシャルサイトを参照。パターンも豊富。
http://jsptags.com/tags/navigation/pager/pager-demo.jsp

ドキュメント
http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.html
目的と利用方法がシンプルなので、ドキュメント量も少ない。すぐに読める。

導入手順

  1. バイナリ入手
  2. pager-taglib.tld, pager-taglib.jarを任意の位置にコピー
  3. web.xmlを編集(後述)
  4. jspで利用する。

web.xml
<taglib>
    <taglib-uri>http://jsptags.com/tags/navigation/pager</taglib-uri>
    <taglib-location>/WEB-INF/tld/pager-taglib.tld</taglib-location>
</taglib>

サンプルコード

<%@ page contentType="text/html; charset=shift_jis" %>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
<html>
<head>
<title>Pager Tag Library</title>
</head>
<body>

<%
java.util.List list = new java.util.ArrayList();
for(int i = 1; i < 100; i++){
    list.add(new Integer(i));
}
int maxPageItems = 5;
int pageCount = list.size() % maxPageItems==0 ?
    list.size() / maxPageItems : list.size() / maxPageItems + 1;
%>

<pg:pager items="<%= list.size() %>"
          index="center"
          maxPageItems="<%=maxPageItems%>"
          export="offset,currentPageNumber=pageNumber"
          scope="request">

    <p>
    <pg:prev export="pageUrl"><a href="<%= pageUrl %>"><</a></pg:prev>
    <pg:pages> <a href="<%= pageUrl %>"><%= pageNumber %></a></pg:pages>
    <pg:next export="pageUrl"> <a href="<%= pageUrl %>">></a></pg:next>
    </p>

    <p>
    <pg:prev export="pageUrl"><a href="<%= pageUrl %>">前の5件</a></pg:prev>
    <%=currentPageNumber%>/<%=pageCount%>
    <pg:next export="pageUrl"><a href="<%= pageUrl %>">次の5件</a></pg:next>
    </p>

    <ul>
    <%
    for(int i = offset.intValue(); i < offset.intValue() + maxPageItems; i++){
        if(list.size() <= i){
            break;
        }
    %>
    <li><%=list.get(i)%></li>
    <% } %>
    </ul>
</pg:pager>

</body>
</html>
各タグの解説は、オフィシャルサイトのドキュメントを参照。
http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.html
というより、本当にシンプルなのでサンプルコードでだいたい理解できると思う。

実行画面イメージ

動作イメージ

まとめ

Pager Tag Libraryのポイントは、ページング処理は完全にPager Tag Libraryが行う点である。そして開発者は、出力情報やデザインなどを簡単に、柔軟に開発することができる。
また、既存のアプリケーションに後からページング処理を追加することも容易に行えるだろう。

リンク

Advertisement

ショートカット

634トップページ
このカテゴリのトップページに戻る
634ラボ

サイト検索

Google

Web サイト内

Y!ログール