0

内部コンポーネントのバインディングとして、a4j:repeat タグ内で var 属性を使用できるかどうかを尋ねたかったのです。例えば

<a4j:repeat value="#{myController.bindingComponents}" var="component">
  <h:panelGroup binding="#{component}"/>
</a4j:repeat>

私はすでにこれを試しましたが、バインディング式が評価されるとコンポーネントはnullです。

4

1 に答える 1

1

いいえ、それは不可能です。属性は(属性やすべてのタグ ハンドラーとbinding同様に) ビューのビルド時に評価されますが、UI コンポーネントである はビューのレンダリング時に評価されます。そのため、属性が評価された時点で はis です。これは、その時点で が実行されていないためです。idvalue<a4j:repeat>binding#{component}null<a4j:repeat>

もう一度考えてみれば、完全に理にかなっているはずです。出力を複数回レンダリングする JSF コンポーネント ツリーは1 つだけです。 <h:panelGroup>ご想像のとおり、複数の<h:panelGroup>コンポーネントがこの方法で生成されるというのは事実ではありません。

念頭に置いていた特定の機能要件を達成するには、おそらく JSTL のようなビュー ビルド時の反復タグを使用することをお勧めします<c:forEach>

以下も参照してください。

于 2012-07-10T18:48:37.947 に答える