JSF 2.0を使用して、各行にポップアップを開くリンクが含まれているテーブルを表示する必要があります。私には2つのモデルがあります:A
およびList<B>
プロパティを持つid
とB
およびid
プロパティを持つname
。バッキングBeanには、List<A>
プロパティがあります。私の見解では、<ui:repeat>
を使用してList<A>
を反復処理しています。
要件は、ユーザーがクリックした行に応じて、A
の対応するList<B>
を表示する必要があることです。ただし、<ui:repeat>
は、var
属性に割り当てられるネストされたリストを受け入れません。したがって、効率的ではない多くの回避策を実行する必要があります。
この問題を効率的に解決するにはどうすればよいですか?
必要なのは、外側の反復で別の<ui:repeat>
タグをネストすることです。
<ui:repeat value="#{bean.listOfA}" var="a">
...
<ui:repeat value="#{a.listOfB}" var="b">
...
</ui:repeat>
</ui:repeat>
注目に値する唯一のことは、ネストされた<ui:repeat>
タグは、Mojarra 2.1.15バージョンまで状態管理に問題があったことです(詳細は ネストされたui:repeat内で呼び出されないjsfリスナー および最近ではない多くの質問とその回答)では、アクションリスナーが呼び出されないなどの可能性がありますが、現在最新のMojarra JSF実装を使用している場合は、この部分を完全にスキップしてください。