クラス TagLibraryValidator

  • 既知の直属サブクラス
    PermittedTaglibsTLVScriptFreeTLV

    public abstract class TagLibraryValidator
    extends ObjectSE
    JSP ページの変換時バリデータクラス。バリデータは、JSP ページに関連付けられた XML ビューで動作します。

    TLD ファイルは、TagLibraryValidator クラスといくつかの初期化引数をタグライブラリに関連付けます。

    JSP コンテナーは、適切なサブクラスの適切なインスタンスを特定する責任があります。

    • 新しいインスタンスを新規作成するか、利用可能なインスタンスを再利用します
    • インスタンスの setInitParams(Map) メソッドを呼び出す
    初期化されると、validate(String、String、PageData)メソッドが呼び出されます。最初の 2 つの引数は、XML ビュー内のこのタグライブラリのプレフィックスと URI です。プレフィックスは、エラーメッセージを生成しやすくするためのものです。ただし、常に正確であるとは限りません。単一の URI が XML ビューで複数のプレフィックスにマップされている場合、最初の URI のプレフィックスが提供されます。タグ要素自体がチェックされる場合に高品質のエラーメッセージを提供するには、prefix パラメーターを無視し、代わりに要素の実際のプレフィックスを使用する必要があります。TagLibraryValidators は、常に URI を使用して、要素を接頭辞ではなくタグライブラリに属しているものとして識別します。

    TagLibraryValidator インスタンスは、検証を実行するために内部で補助オブジェクト(XSchema バリデーターなど)を作成し、それを特定の変換実行のすべてのページで再利用できます。

    JSP コンテナーは、validate() メソッドの呼び出しを直列化することが保証されていません。TagLibraryValidators は、必要な同期を実行する必要があります。

    JSP 2.0 以降、JSP コンテナーは jsp:id 属性を提供して、より高品質の検証エラーを提供する必要があります。コンテナーは、コンテナーに渡される JSP ページを追跡し、jsp:id 属性の値として渡される一意の "ID" を各要素に割り当てます。使用可能な XML ビューの各 XML 要素は、この属性で拡張されます。TagLibraryValidator は、1 つ以上の ValidationMessage オブジェクトで属性を使用できます。次に、コンテナーはこれらの値を使用して、エラーの場所に関するより正確な情報を提供できます。

    id 属性の実際のプレフィックスは jsp である場合とそうでない場合がありますが、常に名前空間 http://java.sun.com/JSP/Page にマップされます。TagLibraryValidator 実装は、id 属性の接頭辞ではなく URI に依存する必要があります。

    • コンストラクターの詳細

      • TagLibraryValidator

        public TagLibraryValidator()
        唯一のコンストラクター。(サブクラスコンストラクターによる呼び出しの場合、通常は暗黙的です。)
    • メソッドの詳細

      • setInitParameters

        public void setInitParameters​(MapSE<StringSE,​ObjectSE> map)
        このバリデーターの TLD に初期化データを設定します。パラメーター名はキーであり、パラメーター値は値です。
        パラメーター:
        map - init パラメーターを説明するマップ
      • getInitParameters

        public MapSE<StringSE,​ObjectSE> getInitParameters()
        初期化パラメーターデータを不変マップとして取得します。パラメーター名はキーであり、パラメーター値は値です。
        戻り値:
        不変マップとしての init パラメーター。
      • validate

        public ValidationMessage[] validate​(StringSE prefix,
                                            StringSE uri,
                                            PageData page)
        JSP ページを検証します。これは、XML ビューの一意のタグライブラリ URI ごとに 1 回呼び出されます。このメソッドは、ページが有効な場合は null を返します。それ以外の場合、メソッドは ValidationMessage オブジェクトの配列を返す必要があります。長さがゼロの配列もエラーなしと解釈されます。
        パラメーター:
        prefix - XML ライブラリで、タグライブラリが関連付けられている最初のプレフィックス。名前空間が再定義された場合、一部のタグは異なる接頭辞を使用する場合があることに注意してください。
        uri - タグライブラリの一意の識別子
        page - JspData ページオブジェクト
        戻り値:
        null オブジェクト、またはエラーがない場合は長さ 0 の配列、それ以外の場合は ValidationMessages の配列。
      • release

        public void release()
        検証のために、このインスタンスによって保持されているすべてのデータを解放します。