@ViewScopedの問題により、faceletで c:foreach の代わりに ui:repeat を使用する必要があります。しかし、私はこの問題に遭遇し、誰かが回避策を提案できるかどうか疑問に思っています.
<ui:repeat value="#{someBean.idCodes}"
var="led">
<h:outputText id="mailbox-#{led}"
value="#{someBean.getSomeValue(led)}" />
</ui:repeat>
最初の問題は、 #{led} 参照は id 属性が評価されないことです。生成されたすべての id 属性は、単純に値「mailbox-」です。document.getElementById() で特定の要素インスタンスを見つける必要があるため、生成された id 属性が必要です。
回避策が見当たらないもう 1 つの問題は、ui:repeat 要素を h:panelGrid 要素内にラップすると、各メンバーに対して 1 つのセルではなく、1 つのセルを含むテーブルになってしまうことです。 idCode コレクション。
c:foreach を使用する場合、これらの問題はどちらも存在しませんが、そのタグを使用すると他の問題が発生します。助言がありますか?