使用a4j:在绑定中重复var

时间:2012-07-10 17:00:43

标签: jsf-2 primefaces richfaces components

我想询问是否可以在a4j:repeat标签内使用var属性,作为内部组件的绑定。例如

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

我已经尝试过了,但是在评估绑定表达式时,组件为null。

1 个答案:

答案 0 :(得分:1)

不,那是不可能的。 binding属性在视图构建时评估(如id属性和所有标记处理程序),而value <a4j:repeat>作为UI组件在视图中评估渲染时间。因此,binding属性评估时,#{component}null,因为<a4j:repeat>尚未在该点运行。

如果你再想一想,它应该完全合理:JSF组件树中只有一个 <h:panelGroup>,它会多次呈现其输出。正如您所期望的那样,以这种方式生成多个<h:panelGroup>组件并不是真的。

为了达到您所考虑的特定功能要求,您可能希望使用视图构建时迭代标记,例如JSTL <c:forEach>

另见: