パッケージ jakarta.faces.application

アノテーション型 ResourceDependency


  • @RetentionSE(RUNTIMESE)
    @TargetSE(TYPESE)
    @InheritedSE
    @RepeatableSE(ResourceDependencies.class)
    public @interface ResourceDependency

    このアノテーション(またはクラスレベルでアタッチされた ResourceDependencies)を持つ UIComponent または Renderer のインスタンスには、リソースの依存関係が自動的に追加されるため、このコンポーネントまたはレンダラーが使用される UIViewRoot のユーザーエージェントのビューに名前付きリソースが表示されます。

    デフォルトの実装では、このアノテーションを UIComponent または Renderer クラスにアタッチすることをサポートする必要があります。どちらの場合も、このアノテーションの処理を促進するイベントは、ビューの最初のリクエスト時にビュー階層に UIComponent インスタンスを挿入することです。そのイベントが発生した場合、次のアクションを実行する必要があります。

    1. このアノテーションが問題のクラスに存在しない場合、アクションを実行する必要はありません。

    2. jakarta.faces.Output を渡して、UIOutput インスタンスを作成します。Application.createComponent(java.lang.String) へ。

    3. クラスからアノテーションインスタンスを取得し、名前ライブラリターゲット属性の値を取得します。

    4. ライブラリが空の文字列の場合、ライブラリを null とします。

    5. target が空の文字列の場合、target を null とします。

    6. nameResourceHandler.getRendererTypeForResourceName(java.lang.String) に渡して、リソースレンダラー型を取得します

    7. UIOutput インスタンスで setRendererType を呼び出し、レンダラー型を渡します

    8. UIComponent.getAttributes() を呼び出して、UIOutput コンポーネントから属性の Map を取得します。

    9. キー "name" の属性 Map に名前を格納します。

    10. ライブラリnull 以外の場合は、「ライブラリ」キーに保管してください。

    11. ターゲットnull 以外の場合は、「ターゲット」キーに保存します。

    12. それ以外の場合、ターゲットが null の場合は、UIViewRoot.addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent) を呼び出し、UIOutput インスタンスを 2 番目の引数として渡します。

    例:

     
      @ResourceDependency(library="corporate", name="colorAndMedia.css"),
    
     
    導入:
    2.0
    • 要素の詳細

      • name

        StringSE name

        この ResourceDependency によって指されるリソースの resourceName。式が期待される型のインスタンスに解決される限り、この属性の値に Jakarta Expression Language Expressions を含めることは有効です。

        戻り値:
        名前。
      • library

        StringSE library

        この ResourceDependency によって指されるリソースが存在する libraryName。指定されていない場合は、デフォルトで空の文字列になります。式が期待される型のインスタンスに解決される限り、この属性の値に Jakarta Expression Language Expressions を含めることは有効です。

        戻り値:
        ライブラリ。
        デフォルト:
        ""