1

ビューに多くの JPA エンティティを表示する画面を作成する必要があります。1 つの facelet を作成し、それにフィールドのコレクションを渡すのは素晴らしいことList<Object>です。

facelet/custom コンポーネントは、リストの各要素を表示用の適切なタグに変換する必要があります。たとえば、enum フィールドを h:selectOneMenu に、String フィールドを h:inputText に変換するなどです。これは実行時に行う必要があります。

これを行う最も簡単な方法は何ですか?

4

1 に答える 1

0

保存された構成から動的にページ全体を作成する以前のプロジェクトに取り組みました。基本的に必要なものは2つ

  • BackingBean。これを使用して、生成された UIComponents の親として機能する facelet の UIComponent にアクセスします。panelGroup のようなもの。ただし、動的に作成された UIComponents を追加する親を持つために、UIComponents をバッキング Bean にバインドする必要があります。
  • アプリケーション コンポーネントへのアクセス。通常は FacesContext.getApplication() (私は JavaEE 5 でこれに取り組んだので、インジェクションでは少し異なるように見えるかもしれません)。Application コンポーネントを取得したら、createComponent メソッドを呼び出して、作成するコンポーネントのタイプを渡します。

次に、コンポーネントを動的に作成し、それらをコードで構成し、バインディング Bean を介して定義された親 UIComponent に追加するアクティビティになります。難しいかもしれませんが、それは可能です。

于 2013-03-31T04:45:13.340 に答える