![]() |
![]() |
|
|
| |
タグ ライブラリ記述子の作成
以下の節では、タグ ライブラリ記述子(TLD)ファイルを作成する方法について説明します。
タグ ライブラリを使用すると、開発者は関連する機能を持つタグを 1 つにまとめることができます。タグ ライブラリには、タグ拡張を記述し、それらを Java クラスに関連付けるタグ ライブラリ記述子(TLD)
ファイルが必要となります。TLD は、WebLogic Server とオーサリング ツールが拡張機能に関する情報を取得するために使用されます。TLD ファイルは、XML 表記法で記述します。
タグ ライブラリ記述子の構文は文書型定義(DTD)に指定されており、 http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtdで入手できます。
タグ ライブラリ記述子ファイル内の要素は、この DTD に定義されている順序で並べます。この順序付けは、以下に示す手順で使用されます。TLD 要素がこの順序どおりに並べられていない場合、XML パーサは例外を送出します。
TLD の本体は、<taglib> ... </taglib>
要素の中にネストされた要素を含んでいます。これらのネストされた要素についても次の手順で説明します。このドキュメントでは、見やすくするためにネストされた要素はその親要素からインデントされていますが、TLD ではインデント処理は必要ありません。
タグ ライブラリ記述子のサンプルの例では、code
という新しいタグを宣言します。このタグの機能は、Java クラスの weblogic.taglib.quote.CodeTag
によって実装されます。
タグ ライブラリ記述子を作成するには、次の手順に従います。
.tld
を付け、JSP を持つ Web アプリケーションの WEB-INF ディレクトリに置きます。WEB-INF
ディレクトリの内容は非公開で、WebLogic Server によって HTTP を介して提供されません。
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.
//DTD JSP Tag Library 1.1//EN" "web-jsptaglib_1_1.dtd">
<taglib>
要素の中に埋めこみます。コンテンツには、タグ ライブラリに関する情報を含む要素と、各タグを定義する要素が含まれます。次に例を示します。
<taglib>
... taglib 記述子の本体 ...
</taglib>
タグ ライブラリに新しいタグを定義するには、それぞれ別個の <tag>
要素を使用します。<tag>
要素には、以下のネスト タグを埋め込むことができます。
:
」という記号の後に使用します。
<mytaglib:tag_name>
WEB-INF
\classes
ディレクトリの下に、パッケージ名を反映したディレクトリ構造に従って配置します。タグ ライブラリ jar ファイルにクラスをパッケージすることもできます。詳細については、
JSP タグ ライブラリを JAR ファイルとしてデプロイするを参照してください。
TagExtraInfo
のサブクラスを宣言します。タグが新しいスクリプト変数を定義しない場合、この要素は使われません。そのクラスの完全修飾パッケージ名を指定します。このクラスに含まれるタグの属性を検証できます。
WEB-INF
\classes
ディレクトリの下に、パッケージ名を反映したディレクトリ構造に従って配置します。タグ ライブラリ jar ファイルにクラスをパッケージすることもできます。詳細については、
JSP タグ ライブラリを JAR ファイルとしてデプロイするを参照してください。
empty
を指定すると、タグは JSP ページ内で空タグ フォーマットで使用されます。たとえば、<taglib:tagname/>
というように使用されます。
<taglib:tagname>...</taglib:tagname>
.
tagdependent
を指定すると、タグは本体のコンテンツを JSP 以外のもの(たとえば SQL 文)であると解釈します。
<bodycontent>
要素が定義されていない場合、デフォルト値は JSP
となります。
<taglib:mytag myAttribute="myAttributeValue">
<attribute>
要素を使用します。タグ属性を使用すると、JSP 作成者はタグの動作を変更できます。
<name>myAttribute</name>
false
、つまりその属性は省略可能となります。
true
が指定され、その属性が JSP ページの中で使用されない場合、変換時エラーが発生します。
以下にタグ ライブラリ記述子のサンプルを示します。
コード リスト 3-1 タグ ライブラリ記述子(tld)のサンプル
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.1</jsp-version>
<shortname>quote</shortname>
<description>
このタグ ライブラリには、HTML のコンテンツをフォーマットするのに有効な
タグ拡張がいくつか含まれています。
</description>
<tag>
<name>code</name>
<tagclass>weblogic.taglib.quote.CodeTag</tagclass>
<bodycontent>tagdependent</bodycontent>
<attribute>
<name>fontAttributes</name>
</attribute>
<attribute>
<name>commentColor</name>
</attribute>
<attribute>
<name>quoteColor</name>
</attribute>
</tag>
</taglib>
![]() |
![]() |
![]() |