public class PageLinksTag
extends javax.servlet.jsp.tagext.TagSupport
<logic:iterate>
要素によって定義された一覧の
ページ遷移のリンクを表示する。
リンクは、同一JSPであれば対応する一覧の上下左右のどこへでも表示することが可能である。
ページリンク機能を使用する場合は、
アクションフォームに以下のフィールドを用意して、
この機能の属性に対して指定する必要がある。
ページリンク機能では、以下の属性をサポートする。
属性名 | デフォルト値 | 必須性 | 実行時式 | 概要 |
id |
- | false |
true |
この属性に文字列が指定された場合、 ページリンクの出力先を画面ではなくページコンテキストに保存する。 この属性は保存するキーとなる。 |
action |
- | false |
true |
一覧表示画面の表示を行うアクションパス名を指定する。 submit属性がfalseの場合は必須属性となる。 |
name |
- | false |
true |
表示行数、開始行インデックス、一覧情報全行数を取得するBeanを指定する。 |
rowProperty |
- | true |
true |
表示行数を保持するフィールドを指定する。 name属性が指定されていない場合は直接値を取得する。 |
indexProperty |
- | true |
true |
表示開始インデックスを保持するフィールドを指定する。 name属性が指定されていない場合は直接値を取得する。 |
totalProperty |
- | true |
true |
<logic:iterate> 要素によって
定義された一覧情報の全行数を保持するフィールドを指定する。
name属性が指定されていない場合は直接値を取得する。
|
scope |
- | false |
true |
name属性で指定したBeanを取得するスコープを指定する。 |
submit |
false |
false |
true |
リンクではなく、サブミットを行う場合はtrueを指定する。デフォルトはfalse。 falseの場合、action属性が必須属性となる。 なお、この属性をtrueに設定するとaction属性は無効となる。 |
forward |
false |
false |
true |
TERASOLUNAのDispatchActionを使用してフォワードによる振り分けを行う場合に 使用する属性。trueを指定するとevent属性に設定された値のHiddenタグを出力する。 また、そのHiddenタグのvalue属性を"forward_pageLinks"とする。 デフォルトはfalse。 |
event |
"event" |
false |
true |
TERASOLUNAのDispatchActionを使用してフォワードによる振り分けを行う場合に 使用する属性。forward属性をtrueにした場合、この属性に指定した名前の Hiddenタグが生成される。デフォルトは"event"となる。 |
resetIndex |
false |
false |
true |
サブミット時に有効になる属性で、trueに設定すると 指定範囲リセットを行うためのstartIndexとendIndexのHiddenタグを出力する。 デフォルトはfalse。 |
currentPageIndex |
"currentPageIndex" |
false |
true |
対応する一覧の現在ページ数をページコンテキストに保存する際のキーとなる。 デフォルトは"currentPageIndex"となる。 |
totalPageCount |
"totalPageCount" |
false |
true |
対応する一覧の総ページ数をページコンテキストに保存する際のキーとなる。 デフォルトは"totalPageCount"となる。 |
PageLinksTag
では以下の変数をサポートする。
変数名 | 型 | 有効範囲 | 記述 |
カスタムタグのid 属性で指定された名前。
|
java.lang.String |
カスタムタグ以降 | 画面へ出力するページリンク(タグなど)を保持する。 |
カスタムタグのcurrentPageIndex 属性で指定された名前、
またはデフォルト値。
|
java.lang.Integer |
カスタムタグ以降 | 対応する一覧情報の現在のページ番号を保持する。 |
カスタムタグのtotalPageCount 属性で指定された名前、
またはデフォルト値。
|
java.lang.Integer |
カスタムタグ以降 | 対応する一覧情報の総ページ数を保持する。 |
pageLinks.<遷移方向><遷移
ページ数>.char=<表示文字列>
遷移方向 :
現在の表示ページ番号よりも前方(nextの場合は後方)。
遷移ページ数 :
現在の表示ページ番号からのジャンプページ数。数値は自由に設定可能。
表示文字列 :
画面に表示させる文字。この文字がリンク対象となる。
pageLinks.maxDspLinkSize =
<表示ページ数>
表示ページ数 :
ページ数を直接指定するリンクの最大表示数
pageLinks.prev10.char=<<
pageLinks.prev1.char=<
pageLinks.next1.char=>
pageLinks.next10.char=>>
pageLinks.maxDirectLinkCount=10
以下に、ページリンク機能を使用した例を示す。この例は、ページを切り替えるごとに データベースにアクセスを行い表示する一覧情報のみを取得する例である。 この例の場合は、一覧表示画面へ最初に遷移するアクションと、 ページリンク機能のアクション(action属性)が同一でも問題ない。 以下の例では、ページリンクに設定するフィールドにStringを使用しているが、 String以外のオブジェクトの設定も可能である。
以下に、ページリンク機能を使用した例を示す。この例は、ページを切り替えるときは すでに取得済みの一覧情報(全件数)をアクションフォームから取得する例である。 この例の場合は、一覧表示画面へ最初に遷移するアクションと、 ページリンク機能のアクション(action属性)は別のアクションとする。 一覧表示画面へ最初に遷移するアクションでは、一覧情報の全件数を取得し、 ページリンク機能のアクションはあくまで画面を表示するのみのアクションとする。 以下の例では、ページリンクに設定するフィールドにStringを使用しているが、 String以外のオブジェクトの設定も可能である。
submit
属性をtrue
に設定する。
この設定を行うと、ページリンク押下時に、JavaScriptによるサブミット処理を行う。
なお、submit
属性をtrue
に設定すると
action
属性は無効となる。
pageContext
に
保存する。保存するキーは、currentPageIndex
属性と
totalPageCount
属性にて指定可能である。
属性のデフォルト値は上記を参照のこと。
現在ページおよび総ページ数を画面に表示する場合は、以下のように使用する。
pageContext
に保存するため、出力場所を自由に変更することができる。
現在ページや総ページ数をページリンクの上部に出力したいときなどに使用する。
修飾子とタイプ | フィールドと説明 |
---|---|
protected String |
action
ページリンク押下時に起動するアクション名。
|
protected static String |
CHAR_LINKS
ApplicationResources ファイルにおける記号表示の
ページジャンプ用リンクのプロパティ名の構成要素。 |
protected static String |
CURRENT_PAGE_INDEX
現在ページ数をページコンテキストに登録するキー。
|
protected String |
currentPageIndex
現在ページ番号保存用パラメータ。
|
protected static String |
DEFAULT_EVENT
デフォルトイベントパラメータ。
|
protected static String |
ERROR_MESSAGE_ACTION_REQUIRED
アクション属性が必須のエラーメッセージ。
|
protected String |
event
イベントパラメータ。
|
protected boolean |
forward
フォワードフラグ。
|
protected static String |
FORWARD_NAME
フォワード名。
|
protected String |
id
出力先変更用ID。
|
protected String |
indexProperty
表示開始インデックスのフィールド名。
|
protected Map<String,String> |
links
プロパティファイルのリンク登録IDをキーとして表示リンクを格納するマップ。
|
protected static String |
MAX_DSP_SIZE
ApplicationResources ファイルにおける
ページジャンプ用リンクの直接番号指定の表示最大数の
プロパティ名の構成要素。 |
protected int |
maxLinkNo
最大ページジャンプ数。
|
protected int |
maxPageCount
最大直接指定リンク番号数。
|
protected String |
name
表示開始インデックスと全件数を保持したBean名。
|
protected static String |
NEXT_LINKS
ApplicationResources ファイルにおける後方への
ページジャンプ用リンクのプロパティ名の構成要素。 |
protected static String |
PAGE_LINKS_PREFIX
ApplicationResources ファイルにおける
ページジャンプ用リンクのプロパティ名のプリフィックス。 |
protected static String |
PAGELINKS_JAVASCRIPT_KEY
ページリンク機能で出力するJavaScriptの出力フラグ
|
protected static String |
PREV_LINKS
ApplicationResources ファイルにおける前方への
ページジャンプ用リンクのプロパティ名の構成要素。 |
protected boolean |
resetIndex
指定範囲インデックス出力フラグ。
|
protected String |
rowProperty
表示行数のフィールド名。
|
protected String |
scope
取得するBeanのスコープ。
|
protected boolean |
submit
サブミットフラグ。
|
protected static String |
TOTAL_PAGE_COUNT
総ページ数をページコンテキストに登録するキー。
|
protected String |
totalPageCount
現在ページ番号保存用パラメータ。
|
protected String |
totalProperty
全件数のフィールド名。
|
protected static String |
WARN_MESSAGE_ILLEGAL_ROW
取得した表示行数(row)が0以下の場合のエラーメッセージ。
|
コンストラクタと説明 |
---|
PageLinksTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
addDirectLink(StringBuilder sb,
int row,
int startIndex,
int totalCount)
ページ番号リンクを引数のStringBuilderに追加する。
|
protected void |
addDirectSubmit(StringBuilder sb,
int row,
int startIndex,
int totalCount)
ページ番号リンクを引数のStringBuilderに追加する。
|
protected void |
addNextLink(StringBuilder sb,
int row,
int startIndex,
int totalCount)
次ページに遷移するリンクを引数のStringBuilderに追加する。
|
protected void |
addNextSubmit(StringBuilder sb,
int row,
int startIndex,
int totalCount)
次ページに遷移するリンクを引数のStringBuilderに追加する。
|
protected void |
addPrevLink(StringBuilder sb,
int row,
int startIndex,
int totalCount)
前ページに遷移するリンクを引数のStringBuilderに追加する。
|
protected void |
addPrevSubmit(StringBuilder sb,
int row,
int startIndex,
int totalCount)
前ページに遷移するリンクを引数のStringBuilderに追加する。
|
protected void |
attributePageCount(int now,
int total)
現在ページ数、総ページ数をページコンテキストに保存する。
|
protected void |
defineHtml(int row,
int startIndex,
int totalCount)
HTMLの定義を出力する。
|
int |
doStartTag()
タグ評価開始時に呼ばれるメソッド。
|
String |
getAction()
設定されているaction属性値を返却する。
|
String |
getCurrentPageIndex()
設定されているcurrentPageIndex属性値を返却する。
|
String |
getEvent()
設定されているevent属性値を返却する。
|
boolean |
getForward()
設定されているforward属性値を返却する。
|
String |
getId()
設定されているid属性値を返却する。
|
String |
getIndexProperty()
設定されているindexProperty属性値を返却する。
|
protected int |
getInt(Object obj)
引数のオブジェクトをintに変換して返却する。
|
String |
getName()
設定されているid属性値を返却する。
|
protected boolean |
getPageContextFlg(javax.servlet.jsp.PageContext pageContext,
String key)
指定されたKEYにて取得した値を真偽値に変換して返却する。
|
protected int |
getPageCount(int row,
int totalCount)
ページ数を算出して返却する。
|
protected int |
getPageIndex(int row,
int startIndex)
表示ページ番号を算出して返却する。
|
boolean |
getResetIndex()
設定されているresetIndex属性値を返却する。
|
String |
getRowProperty()
設定されているrowProperty属性値を返却する。
|
String |
getScope()
設定されているscope属性値を返却する。
|
boolean |
getSubmit()
設定されているsubmit属性値を返却する。
|
String |
getTotalPageCount()
設定されているtotalPageCount属性値を返却する。
|
String |
getTotalProperty()
設定されているtotalProperty属性値を返却する。
|
protected Object |
lookup(javax.servlet.jsp.PageContext pageContext,
String name,
String property,
String scope)
nameが指定されてない場合は、propertyの値を直接取得する。
|
void |
release()
すべてのアロケートされた資源を解放する。
|
void |
setAction(String action)
action属性に値を設定する。
|
void |
setCurrentPageIndex(String currentPageIndex)
currentPageIndex属性に値を設定する。
|
void |
setEvent(String event)
event属性に値を設定する。
|
void |
setForward(boolean forward)
forward属性に値を設定する。
|
void |
setId(String id)
id属性に値を設定する。
|
void |
setIndexProperty(String indexProperty)
indexProperty属性に値を設定する。
|
void |
setName(String name)
name属性に値を設定する。
|
protected void |
setPageContextFlg(javax.servlet.jsp.PageContext pageContext,
String key)
ページコンテキストに対して、指定されたKEYのフラグを設定する。
|
void |
setResetIndex(boolean resetIndex)
resetIndex属性に値を設定する。
|
void |
setRowProperty(String rowProperty)
rowProperty属性に値を設定する。
|
void |
setScope(String scope)
scope属性に値を設定する。
|
void |
setSubmit(boolean submit)
submit属性に値を設定する。
|
void |
setTotalPageCount(String totalPageCount)
totalPageCount属性に値を設定する。
|
void |
setTotalProperty(String totalProperty)
totalProperty属性に値を設定する。
|
protected String id
protected String action
protected String name
protected String rowProperty
protected String indexProperty
protected String totalProperty
protected String scope
protected boolean submit
protected boolean forward
protected String event
protected boolean resetIndex
protected String currentPageIndex
protected String totalPageCount
protected static String ERROR_MESSAGE_ACTION_REQUIRED
protected static String WARN_MESSAGE_ILLEGAL_ROW
protected static String PAGE_LINKS_PREFIX
ApplicationResources
ファイルにおける
ページジャンプ用リンクのプロパティ名のプリフィックス。protected static String PREV_LINKS
ApplicationResources
ファイルにおける前方への
ページジャンプ用リンクのプロパティ名の構成要素。protected static String NEXT_LINKS
ApplicationResources
ファイルにおける後方への
ページジャンプ用リンクのプロパティ名の構成要素。protected static String CHAR_LINKS
ApplicationResources
ファイルにおける記号表示の
ページジャンプ用リンクのプロパティ名の構成要素。protected static String MAX_DSP_SIZE
ApplicationResources
ファイルにおける
ページジャンプ用リンクの直接番号指定の表示最大数の
プロパティ名の構成要素。protected static String PAGELINKS_JAVASCRIPT_KEY
protected static String FORWARD_NAME
protected static String DEFAULT_EVENT
protected static String TOTAL_PAGE_COUNT
protected static String CURRENT_PAGE_INDEX
protected int maxLinkNo
protected int maxPageCount
public String getId()
getId
クラス内 javax.servlet.jsp.tagext.TagSupport
public void setId(String id)
setId
クラス内 javax.servlet.jsp.tagext.TagSupport
id
- 設定する値public String getAction()
public void setAction(String action)
action
- 設定する値public String getName()
public void setName(String name)
name
- 設定する値public String getRowProperty()
public void setRowProperty(String rowProperty)
rowProperty
- 設定する値public String getIndexProperty()
public void setIndexProperty(String indexProperty)
indexProperty
- 設定する値public String getTotalProperty()
public void setTotalProperty(String totalProperty)
totalProperty
- 設定する値public String getScope()
public void setScope(String scope)
scope
- 設定する値public boolean getSubmit()
public void setSubmit(boolean submit)
submit
- 設定する値public boolean getForward()
public void setForward(boolean forward)
forward
- 設定する値public String getEvent()
public void setEvent(String event)
event
- 設定する値public boolean getResetIndex()
public void setResetIndex(boolean resetIndex)
resetIndex
- 設定する値public String getCurrentPageIndex()
public void setCurrentPageIndex(String currentPageIndex)
currentPageIndex
- 設定する値public String getTotalPageCount()
public void setTotalPageCount(String totalPageCount)
totalPageCount
- 設定する値public int doStartTag() throws javax.servlet.jsp.JspException
doStartTag
インタフェース内 javax.servlet.jsp.tagext.Tag
doStartTag
クラス内 javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.JspException
- JSP例外protected void defineHtml(int row, int startIndex, int totalCount) throws javax.servlet.jsp.JspException
row
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 全件数javax.servlet.jsp.JspException
- JSP例外protected void addPrevSubmit(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected void addDirectSubmit(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected void addNextSubmit(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected void addPrevLink(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected void addDirectLink(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected void addNextLink(StringBuilder sb, int row, int startIndex, int totalCount)
sb
- 追加対象のStringBuilderrow
- 表示行数startIndex
- 表示開始インデックスtotalCount
- 一覧情報の全件数protected int getPageIndex(int row, int startIndex)
row
- 表示行数startIndex
- 現在表示されているページの表示開始インデックスprotected int getPageCount(int row, int totalCount)
row
- 表示行数totalCount
- 全件数protected boolean getPageContextFlg(javax.servlet.jsp.PageContext pageContext, String key)
pageContext
- ページコンテキストkey
- FLGを取得するKEYprotected void setPageContextFlg(javax.servlet.jsp.PageContext pageContext, String key)
pageContext
- ページコンテキストkey
- FLGを設定するKEYprotected Object lookup(javax.servlet.jsp.PageContext pageContext, String name, String property, String scope) throws javax.servlet.jsp.JspException
pageContext
- ページコンテキストname
- プロパティを保持したBean名property
- プロパティscope
- スコープjavax.servlet.jsp.JspException
- JSP例外protected int getInt(Object obj) throws javax.servlet.jsp.JspException
obj
- intに変換するオブジェクトjavax.servlet.jsp.JspException
- JSP例外protected void attributePageCount(int now, int total)
now
- 現在ページ数total
- 総ページ数public void release()
release
インタフェース内 javax.servlet.jsp.tagext.Tag
release
クラス内 javax.servlet.jsp.tagext.TagSupport
Copyright © 2014. All Rights Reserved.