タグライブラリの検証

タグライブラリのバリデータクラスについては JSP 1.2 で紹介しました。タグライブラリの検証は次の理由から比較的簡単に実装できます。

タグライブラリのバリデータを使用するには

  1. 次のセクションで説明するように、バリデータクラスを作成します。
  2. validator サブ要素を TLD ファイルの taglib 要素に追加します。この要素はバリデータのクラスファイルを指定します。

    validator サブ要素の使用の詳細については、 「TLD ファイルの作成」 を参照してください。

  3. Web アプリケーションの /WEB-INF/classes ディレクトリにバリデータクラスをパッケージします。
  4. タグライブラリを使用する JSP をリクエストします。

初めて JSP ページをリクエストしてコンパイルする場合、JRun では JSP ページのタグライブラリのバリデータが呼び出されます。その後、Web アプリケーションの /WEB-INF/jsp ディレクトリにある JSP ファイルを変更するか、または JSP クラスファイルを削除して、ページを再検証します。

バリデータの作成

タグライブラリのバリデータは javax.servlet.jsp.tagext.TagLibraryValidator クラスを拡張します。次の行に示すように、クラスに tagext パッケージを含める必要があります。

import javax.servlet.jsp.tagext.*;

TagLibraryValidator クラスは独自の検証は行いませんが、オーバーライド可能なメソッドを示して検証を行います。バリデータに機能を与えるには、TagLibraryValidator クラスの次のメソッドをオーバーライドします。

TLD ファイルにバリデータを追加すると、JRun はそのバリデーションクラスのメソッドを呼び出し、値を渡します。JRun は、JSP ページの各ディレクティブに対して validate メソッドを 1 回呼び出します。他のメソッドは、ページのリクエストごとに 1 回だけ呼び出されます。

ほとんどのタグバリデータは validate メソッドをオーバーライドします。ページに無効なタグが含まれていなければ、このメソッドは null を返します。それ以外の場合は、validate メソッドは ValidationMessage オブジェクトの配列を返します。

validate メソッドが使用した PageData オブジェクトには、次のメソッドがあります。

getInputStream()

getInputStream メソッドは、JSP ページの XML ビューの入力ストリームを返します。

setInitParameter メソッドと getInitParameter メソッドは、TLD ファイルの validator 要素の init-params サブ要素に設定された初期化パラメータと対話します。

release メソッドはリソースを解放する場所を提供します。