|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.jstl.core.LoopTagSupport
JSTL 1.0 では, LoopTagインタフェース(このインタフェースとJSP1.2で定義されている javax.servlet.jsp.tagext.IterationTagとを混同しないようにして下さい) を実装することにより,開発者がカスタム反復タグを作成することができるようになっています. LoopTag はカスタムタグを認識し,型安全に連動するための反復タグのメカニズムを確立します.
殆どの反復タグは実際の反復的な振る舞いと関連する同様な振る舞いをするので, JSTL 1.0 は実装を促進するためにこの基底となるサポートクラスを提供します. 多くの反復タグはこれを継承し,hasNext()と next()メソッドを単に実装するだけでしょう. これらのメソッドの実装は,反復終了するためのハンドラのためのコンテンツを提供します.
特に, この基底クラスは次の項目のサポートを提供します.:
これらの作業へのサポートを提供するために,LoopTagSupport は 反復の更新を実行する制御用変数を含みます. アクセッサは,これらの制御用変数のために提供されています. 変数は変換時(例えば, var, status)に必要とされたり,要求される情報を表すとき 他の変数にとっては, アクセッサはここへ提供されることはできません. サブクラスはそれらのアクセッサがいかに受け取るかの実装によって異なるからです. インスタンスにとっては,あるサブクラスはStringを受け付け,式の評価を行って ある特別な型のオブジェクトへ変換するかもしれません; その他はオブジェクトを直接的に受付けるかもしれません. 静的な他のものは,そのような情報を外部制御から見えるようにしたくはないかもしれません.
| フィールドの概要 | |
protected int |
begin
indexの開始 (属性 'begin') |
protected boolean |
beginSpecified
'begin' が指定されていたかを示す2値フラグ |
protected int |
end
indexの終了 (属性 'end') |
protected boolean |
endSpecified
'end' が指定されていたかを示す2値フラグ |
protected java.lang.String |
itemId
属性表示の制御 |
protected java.lang.String |
statusId
属性表示の制御 |
protected int |
step
反復の幅 (属性 'step') |
protected boolean |
stepSpecified
'step' が指定されていたかを示す2値フラグ |
| クラス javax.servlet.jsp.tagext.TagSupport から継承したフィールド |
id, pageContext |
| インタフェース javax.servlet.jsp.tagext.Tag から継承したフィールド |
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
| インタフェース javax.servlet.jsp.tagext.IterationTag から継承したフィールド |
EVAL_BODY_AGAIN |
| コンストラクタの概要 | |
LoopTagSupport()
新規のLoopTagSupportのコンストラクトします. |
|
| メソッドの概要 | |
int |
doAfterBody()
最後になるまで反復を続けます.-- 最後になるまでとは,(a)まだアイテムがまだあり, かつ (b) ('step'で指定された)'end'に到達していない,という間は,ということです. |
void |
doCatch(java.lang.Throwable t)
与えられたThrowableを再度スローします. |
void |
doFinally()
このLoopTagSupport集合のすべての属性を削除します. |
int |
doStartTag()
最初のアイテムの処理により反復を開始します. |
java.lang.Object |
getCurrent()
反復において現在のアイテムを取り出します.等冪な振る舞い; getCurrent()を繰り返し呼ぶことは、反復が進んでいない限り、同じObjectを返します. |
LoopTagStatus |
getLoopStatus()
反復における現在の回に関する情報を提供するための '状態' オブジェクトを取り出します。 |
protected abstract boolean |
hasNext()
反復の対象となる1以上のアイテムが有効になっているかに関する情報を返します。 |
protected abstract java.lang.Object |
next()
タグが反復する次のオブジェクトを返します。 |
protected abstract void |
prepare()
単一のタグ起動のための準備をします。 |
void |
release()
このLoopTagSupportが持つ(継承している)リソースを解放します. |
void |
setVar(java.lang.String id)
'var'属性を設定します. |
void |
setVarStatus(java.lang.String statusId)
'varStatus'属性を設定します. |
protected void |
validateBegin()
"begin" 属性が実用的か確認します。 |
protected void |
validateEnd()
"end" 属性が実用的か確認します もしそうでなかったら伝搬するための例外を投げます。 |
protected void |
validateStep()
"step" 属性が実用的か確認します もしそうでなかったら伝搬するための例外を投げます。 |
| クラス javax.servlet.jsp.tagext.TagSupport から継承したメソッド |
doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| インタフェース javax.servlet.jsp.tagext.Tag から継承したメソッド |
doEndTag, getParent, setPageContext, setParent |
| フィールドの詳細 |
protected int begin
protected int end
protected int step
protected boolean beginSpecified
protected boolean endSpecified
protected boolean stepSpecified
protected java.lang.String itemId
protected java.lang.String statusId
| コンストラクタの詳細 |
public LoopTagSupport()
| メソッドの詳細 |
protected abstract java.lang.Object next()
throws javax.servlet.jsp.JspTagException
タグが反復する次のオブジェクトを返します。このメソッドは どのようなオブジェクトを反復するのかという基本的な論理を知らせるために、 LoopTagSupportの実現サブクラスにおいて提供されなければなりません。
このメソッドは一般的に反復によって戻されるのを期待されています。 しかし、場合によっては、そうでない場合もあります。 特に、次のオブジェクトの検索によってある例外が投げられる可能性があるのなら、 このメソッドは、その例外をJspTagExceptionとしてJSPコンテナへ戻して 伝搬することができます。 独立した反復はこれは不可能です。(これは、なぜLoopTagSupportが単純に そのサブタグから反復を呼ばないのかの説明になります)
NoSuchElementException - next()が呼ばれたときに、新しい要素が有効でない場合
javax.servlet.jsp.JspTagException - このほか、予期しない例外が発生した場合
protected abstract boolean hasNext()
throws javax.servlet.jsp.JspTagException
反復の対象となる1以上のアイテムが有効になっているかに関する情報を返します。 このメソッドは、基本クラスを支援するために提供される反復の論理の手助けとなる ので、LoopTagSupportを実装するサブクラスによって提供されなければなりません。
目的とこのタグに期待されることに関するさらなる情報は next を参照してください。
javax.servlet.JspTagException
javax.servlet.jsp.JspTagExceptionnext()
protected abstract void prepare()
throws javax.servlet.jsp.JspTagException
単一のタグ起動のための準備をします。特に、 サブクラスがhasNext()とnext()を呼び出すための準備をさせます。 サブクラスは、prepare()がスーパークラスにおいて、doStartTag()の 呼び出しそれぞれに対して1度呼ばれることを引き受けることができます。
javax.servlet.JspTagException
javax.servlet.jsp.JspTagExceptionpublic void release()
javax.servlet.jsp.tagext.Tag 内の release
public int doStartTag()
throws javax.servlet.jsp.JspException
javax.servlet.jsp.tagext.Tag 内の doStartTagjavax.servlet.jsp.JspException
public int doAfterBody()
throws javax.servlet.jsp.JspException
javax.servlet.jsp.tagext.IterationTag 内の doAfterBodyjavax.servlet.jsp.JspExceptionpublic void doFinally()
これらの属性は入れ子のスコープのスクリプト変数をサポートするためのものです. したがって,スクリプト変数を放置したままにし属性空間を汚す、ということがないようにします.
javax.servlet.jsp.tagext.TryCatchFinally 内の doFinally
public void doCatch(java.lang.Throwable t)
throws java.lang.Throwable
javax.servlet.jsp.tagext.TryCatchFinally 内の doCatchjava.lang.Throwablepublic java.lang.Object getCurrent()
LoopTag の記述:
LoopTag 内の getCurrentpublic LoopTagStatus getLoopStatus()
LoopTag の記述:
LoopTag 内の getLoopStatuspublic void setVar(java.lang.String id)
id - 反復の現在のアイテムを保持するスコープありの変数の名前public void setVarStatus(java.lang.String statusId)
statusId - 反復の現在の状態を保持するスコープありの変数の名前
protected void validateBegin()
throws javax.servlet.jsp.JspTagException
javax.servlet.jsp.JspTagException
protected void validateEnd()
throws javax.servlet.jsp.JspTagException
javax.servlet.jsp.JspTagException
protected void validateStep()
throws javax.servlet.jsp.JspTagException
javax.servlet.jsp.JspTagException
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
このドキュメントは、Ja-Jakarta Project により訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright © 1999-2003 The Apache Software Foundation. All Rights Reserved.