トピック

概論 To top of page

カスタム・タグは、JSP API 拡張のメカニズムです。カスタム・タグは、JSP ページの宣言的拡張を可能にします。JSP タグは Java で実装されますが、HTML タグと同様にタグを介して JSP でアクティブ化されます。一方、HTML タグとは違って、JSP タグはクライアント・ブラウザーではなくサーバーで処理されます。

カスタム・タグによって、Web 設計者 (JSP 開発者) と Java プログラマーの間の責務の分割を明確にできます。Java プログラマーは、カスタム JSP タグを実装します。Web 設計者は、Java の実装をアクティブ化するためにこれらのタグを宣言的に選択します。

JSP 設計者はタグを宣言することによって Java コードを「呼び出し」、Java 開発者は次のダイアグラムに示すようにタグ・ハンドラーでコードを開発します。

付随のテキストで説明されているダイアグラム。

カスタム・タグを提供するには、Java 開発者は次の 2 つを提供する必要があります。

タグ・ハンドラー To top of page

タグ・ハンドラーは、Tag インターフェースを実装するクラスです。2 つのライブラリー・クラスによって、タグ・ハンドラーの提供が容易になります。その 2 つのクラスは、javax.servlet.jsp.TagSupportjavax.servlet.jsp.BodyTagSupport です。TagSupport クラスは、body を持たないタグに使用され、BodyTagSupport は、body のあるタグに使用されます。

次に示す例は、最もシンプルなタグ・ハンドラー実装の例です。

付随のテキストで説明されているダイアグラム。

タグ・ライブラリー記述子 To top of page

JSP が JSP カスタム・タグを使用できるようにするには、タグ・ライブラリー記述子を作成する必要があります。タグ・ライブラリー記述子は、タグ・ハンドラーと一緒に Web サーバー上に配置される XML ファイルです。

次に HelloWorld タグ・ライブラリー記述子を含むシンプルなタグ・ライブラリー・ファイルを示します。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLScheme-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>simp</short-name>
<uri> http://www.inferdata.com/taglib/hello-world</uri>
<description>Simple example of a JSP custom tag</description>
<tag>
<name>hello</name>
<tag-class>com.inferdata.taglib.HelloWorld</tag-class>
<body-content>empty</body-content>
<description>Simple hello world tag</description>
</tag>
</taglib>

 


この内容は、Inferdata Corporation によって作成または部分的に作成されました。

Rational Unified Process   2003.06.15