JSP 10章 タグの検証/スクリプト変数の定義
- 10.1. タグの検証
- 10.2. スクリプト変数の定義
- 10.3. TLDによるスクリプト変数の定義(JSP1.2)
10.3. TLDによるスクリプト変数の定義(JSP1.2)
前節ではTagExtraInfoクラスによってスクリプト変数を定義する方法を説明しました。JSP1.2からはTLDによって定義することも可能となっています。JSP1.2に対応したコンテナを用いる場合には、TagExtraInfoクラスによる方法かTLDによる方法かいずれかの方法を採用してください。
スクリプト変数に関する情報は<variable>タグで指定します。<variable>タグは<body-content>より後、<attribute>より前に指定します。スクリプト変数の数だけ続けて指定します。<variable>タグに属性は無く、スクリプト変数に関する情報は全て子要素の値として指定します。以下に子要素の一覧を示します。
<name-given> | スクリプト変数の名前が固定的に決まっている場合に指定。スクリプト変数の名前を指定する。<name-from-attribute>かどちらかを指定しなければならない。 |
<name-from-attribute> | スクリプト変数の名前が、カスタムタグの属性の値によって決まる場合に指定。その属性の名前を指定する。<name-given>かどちらかを指定しなければならない。 |
<variable-class> | 変数の型を指定。java.lang.Stringがデフォルト。 |
<declare> | スクリプト変数を新たに定義するか定義済みのものを使うか指定。trueがデフォルト。 |
<scope> | スクリプト変数が使用できるスコープを指定。NESTEDがデフォルト。 |
以下はTLDファイルに記載した例です。
<taglib> ... <tag> ... <body-content>JSP</body-content> <variable> <name-given>id</name-given> </variable> </tag> </taglib>
(実習課題3)
実習課題2においてTagExtraInfoクラスによって定義したスクリプト変数を、TLDによって定義するように変更しなさい。