インターフェース SimpleTag
- すべてのスーパーインターフェース:
JspTag
- すべての既知の実装クラス:
SimpleTagSupport
public interface SimpleTag extends JspTag
シンプルタグハンドラーを定義するためのインターフェース。シンプルタグハンドラーは、
doStartTag()
とdoEndTag()
をサポートする代わりに、SimpleTag
インターフェースがシンプルなdoTag()
メソッドを提供するという点で、クラシックタグハンドラーとは異なります。すべてのタグロジック、イテレーション、ボディ評価などは、この単一のメソッドで実行されます。このように、シンプルなタグハンドラーはBodyTag
と同等の機能を備えていますが、よりシンプルなライフサイクルとインターフェースを持っています。本文コンテンツをサポートするために、
setJspBody()
メソッドが提供されています。コンテナーは、タグの本体をカプセル化するJspFragment
オブジェクトを使用してsetJspBody()
メソッドを呼び出します。タグハンドラーの実装では、そのフラグメントでinvoke()
を呼び出して、必要なだけ本体を評価できます。SimpleTag ハンドラーには、引数なしの public コンストラクターが必要です。ほとんどの SimpleTag ハンドラーは SimpleTagSupport を継承する必要があります。
ライフサイクル
以下は、SimpleTag ライフサイクルの非規範的で簡単な概要です。詳細については、JSP 仕様を参照してください。
- 提供されるゼロ引数コンストラクターを呼び出すことにより、コンテナーによって毎回新しいタグハンドラーインスタンスが作成されます。従来のタグハンドラーとは異なり、単純なタグハンドラーは、JSP コンテナーによってキャッシュおよび再利用されることはありません。
setJspContext()
メソッドとsetParent()
メソッドは、コンテナーによって呼び出されます。setParent()
メソッドは、要素が別のタグ呼び出し内にネストされている場合にのみ呼び出されます。- このタグに定義されている各属性の setter は、コンテナーによって呼び出されます。
- ボディが存在する場合、このタグのボディを
JspFragment
として設定するために、コンテナーによってsetJspBody()
メソッドが呼び出されます。ページでアクション要素が空の場合、このメソッドはまったく呼び出されません。 doTag()
メソッドはコンテナーによって呼び出されます。すべてのタグロジック、反復、ボディ評価などがこのメソッドで発生します。doTag()
メソッドが戻り、すべての変数が同期されます。
- 導入:
- JSP 2.0
- 関連事項:
SimpleTagSupport
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
doTag()
このタグを呼び出すためにコンテナーによって呼び出されます。JspTag
getParent()
コラボレーションの目的で、このタグの親を返します。void
setJspBody(JspFragment jspBody)
このタグの本体を JspFragment オブジェクトとして提供し、タグハンドラーによって 0 回以上呼び出すことができます。void
setJspContext(JspContext pc)
この呼び出しのJspContext
をこのタグハンドラーに提供するためにコンテナーによって呼び出されます。void
setParent(JspTag parent)
コラボレーションのために、このタグの親を設定します。
メソッドの詳細
doTag
void doTag() throws JspException, IOExceptionSE
このタグを呼び出すためにコンテナーによって呼び出されます。このメソッドの実装は、タグライブラリ開発者によって提供され、すべてのタグ処理、本体の反復などを処理します。JSP コンテナーは、doTag() の呼び出し後に、AT_BEGIN および AT_END 変数(関連するタグファイル、TagExtraInfo、TLD によって定義されている)を再同期します。
- 例外:
JspException
- このタグの処理中にエラーが発生した場合。SkipPageException
- このタグを(直接または間接的に)呼び出したページが評価を中止する場合。呼び出されたクラシックタグハンドラーが SKIP_PAGE を返した場合、または呼び出されたシンプルタグハンドラーが SkipPageException をスローした場合、または呼び出された Jsp フラグメントが SkipPageException をスローした場合、タグファイルから生成されるシンプルタグハンドラーはこの例外をスローする必要があります。IOExceptionSE
- 出力ストリームへの書き込み中にエラーが発生した場合。
setParent
void setParent(JspTag parent)
コラボレーションのために、このタグの親を設定します。コンテナーは、このタグ呼び出しが別のタグ呼び出し内にネストされている場合にのみ、このメソッドを呼び出します。
- パラメーター:
parent
- このタグを囲むタグ
getParent
JspTag getParent()
コラボレーションの目的で、このタグの親を返します。- 戻り値:
- このタグの親
setJspContext
void setJspContext(JspContext pc)
この呼び出しのJspContext
をこのタグハンドラーに提供するためにコンテナーによって呼び出されます。実装はこの値を保存する必要があります。- パラメーター:
pc
- この呼び出しのページコンテキスト- 関連事項:
Tag.setPageContext(jakarta.servlet.jsp.PageContext)
setJspBody
void setJspBody(JspFragment jspBody)
このタグの本体を JspFragment オブジェクトとして提供し、タグハンドラーによって 0 回以上呼び出すことができます。このメソッドは、
doTag()
の前に JSP ページ実装オブジェクトによって呼び出されます。ページでアクション要素が空の場合、このメソッドはまったく呼び出されません。- パラメーター:
jspBody
- このタグの本体をカプセル化するフラグメント。