パッケージ jakarta.faces.application

アノテーションインターフェース 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 を含めることは有効です。

      戻り値:
      名前。