JSP 3章 アクション
- 3.1. アクション
- 3.2. <jsp:useBean>
- 3.3. <jsp:setProperty>と<jsp:getProperty>
- 3.4. <jsp:include>と<jsp:forward>
- 3.5. <jsp:plugin>
- 3.6. <jsp:attribute>と<jsp:body>
- 3.7. <jsp:doBody>と<jsp:invoke>
- 3.8. <jsp:element>
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" />