目次へ

3.7. <jsp:doBody>と<jsp:invoke>

<jsp:doBody>と<jsp:invoke>はタグファイルの中で使用されます。

<jsp:doBody>はタグファイルで設定したカスタムタグのボディ部を出力するアクションタグです。 出力先を変数に設定することが出来ます。

属性名 必須 スクリプト
可能
説明
var     出力を保存する変数の名前を指定します。Scope属性で指定しない限り「page」スコープに登録されます。
varReader     出力を保存する変数の名前を指定します。ただし、java.io.Readerオブジェクトとして登録されます。 varと両方が指定されている場合はエラーが発生します。Scope属性で指定しなければ「page」スコープに登録されます。
Scope     変数を登録するスコープを「page」「request」「session」「application」のどれかから指定します。 もしScope属性を設定しない場合は変数は「page」スコープに保存されます。varまたはvarReaderのどちらかが設定されていなければなりません。

「var」または「varReader」が指定されていなければ、そのまま出力されます。

<jsp:invoke>は指定したフラグメントを出力するアクションタグです。<jsp:doBody>と同様に変数に出力することが出来ます。

属性名 必須 スクリプト
可能
説明
name   実行するフラグメントの名前を指定します。
var     出力を保存する変数の名前を指定します。Scope属性で指定しない限り「page」スコープに登録されます。
varReader     出力を保存する変数の名前を指定します。ただし、java.io.Readerオブジェクトとして登録されます。 varと両方が指定されている場合はエラーが発生します。Scope属性で指定しなければ「page」スコープに登録されます。
Scope     変数を登録するスコープを「page」「request」「session」「application」のどれかから指定します。 もしScope属性を設定しない場合は変数は「page」スコープに保存されます。varまたはvarReaderのどちらかが設定されていなければなりません。

「var」または「varReader」が指定されていなければ、そのまま出力されます。javax.servlet.jsp.tagext.JspFragmentのinvoke()メソッドを呼ぶのと同義です。

(使用例-タグファイル内で)
<%@ attribute name="frag1" fragment="true" %>

<jsp:doBody />
<jsp:invoke fragment="fragmentName" />

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp