内部コンポーネントのバインディングとして、a4j:repeat タグ内で var 属性を使用できるかどうかを尋ねたかったのです。例えば
<a4j:repeat value="#{myController.bindingComponents}" var="component">
<h:panelGroup binding="#{component}"/>
</a4j:repeat>
私はすでにこれを試しましたが、バインディング式が評価されるとコンポーネントはnullです。
内部コンポーネントのバインディングとして、a4j:repeat タグ内で var 属性を使用できるかどうかを尋ねたかったのです。例えば
<a4j:repeat value="#{myController.bindingComponents}" var="component">
<h:panelGroup binding="#{component}"/>
</a4j:repeat>
私はすでにこれを試しましたが、バインディング式が評価されるとコンポーネントはnullです。
いいえ、それは不可能です。属性は(属性やすべてのタグ ハンドラーとbinding
同様に) ビューのビルド時に評価されますが、UI コンポーネントである はビューのレンダリング時に評価されます。そのため、属性が評価された時点で はis です。これは、その時点で が実行されていないためです。id
value
<a4j:repeat>
binding
#{component}
null
<a4j:repeat>
もう一度考えてみれば、完全に理にかなっているはずです。出力を複数回レンダリングする JSF コンポーネント ツリーは1 つだけです。 <h:panelGroup>
ご想像のとおり、複数の<h:panelGroup>
コンポーネントがこの方法で生成されるというのは事実ではありません。
念頭に置いていた特定の機能要件を達成するには、おそらく JSTL のようなビュー ビルド時の反復タグを使用することをお勧めします<c:forEach>
。