タグライブラリのバリデータクラスについては JSP 1.2 で紹介しました。タグライブラリの検証は次の理由から比較的簡単に実装できます。
JRun で JSP ページの XML ビューが作成される方法については、 「XML ビューについて」 を参照してください。
validator
サブ要素を TLD ファイルの taglib
要素に追加します。この要素はバリデータのクラスファイルを指定します。validator
サブ要素の使用の詳細については、 「TLD ファイルの作成」 を参照してください。
初めて JSP ページをリクエストしてコンパイルする場合、JRun では JSP ページのタグライブラリのバリデータが呼び出されます。その後、Web アプリケーションの /WEB-INF/jsp ディレクトリにある JSP ファイルを変更するか、または JSP クラスファイルを削除して、ページを再検証します。
タグライブラリのバリデータは javax.servlet.jsp.tagext.TagLibraryValidator
クラスを拡張します。次の行に示すように、クラスに tagext
パッケージを含める必要があります。
import javax.servlet.jsp.tagext.*;
TagLibraryValidator
クラスは独自の検証は行いませんが、オーバーライド可能なメソッドを示して検証を行います。バリデータに機能を与えるには、TagLibraryValidator
クラスの次のメソッドをオーバーライドします。
ValidationMessage[] validate(java.lang.String prefix,
java.langString uri, PageData page)
setInitParameters(java.util.Map map)
getInitParameters()
void release()
TLD ファイルにバリデータを追加すると、JRun はそのバリデーションクラスのメソッドを呼び出し、値を渡します。JRun は、JSP ページの各ディレクティブに対して validate
メソッドを 1 回呼び出します。他のメソッドは、ページのリクエストごとに 1 回だけ呼び出されます。
ほとんどのタグバリデータは validate
メソッドをオーバーライドします。ページに無効なタグが含まれていなければ、このメソッドは null
を返します。それ以外の場合は、validate
メソッドは ValidationMessage オブジェクトの配列を返します。
validate
メソッドが使用した PageData オブジェクトには、次のメソッドがあります。
getInputStream()
getInputStream
メソッドは、JSP ページの XML ビューの入力ストリームを返します。
setInitParameter
メソッドと getInitParameter
メソッドは、TLD ファイルの validator
要素の init-params
サブ要素に設定された初期化パラメータと対話します。