Jsf 2 如何使用EL引用DataTable中的绑定组件?

Jsf 2 如何使用EL引用DataTable中的绑定组件?,jsf-2,binding,datatable,el,Jsf 2,Binding,Datatable,El,使用表达式语言,如何访问数据表中绑定和重复的组件 <h:dataTable value="#{bean.items}" var="item" id="table"> <h:column> <h:inputText value="#{item.name}" id="name" binding="#{mybinding}"/> </h:column> </h:dataTable> 我是否应该为每个绑定指

使用表达式语言,如何访问数据表中绑定和重复的组件

<h:dataTable value="#{bean.items}" var="item" id="table">
    <h:column>
        <h:inputText value="#{item.name}" id="name" binding="#{mybinding}"/>
    </h:column>
</h:dataTable>

我是否应该为每个绑定指定一个生成的名称,并将文字和行索引连接起来,例如('mybinding_1'、'mybinding_2'等等),如果是这样,如何命名


或者,有没有一种方法可以获得一个带有
{mybinding}
加上某种大括号符号(
[]
)的特定元素?

这里有一个误解。组件树中绝对没有多个
组件。只有一个组件的HTML表示会根据父表组件的当前状态多次生成。您可以通过从
FacesContext#getViewRoot()
开始遍历组件树来确认这一点,最终只会找到一个组件

因此,
binding=“#{mybinding}”
非常好


如果你有问题,它是由其他地方引起的,需要以不同的方式解决。仅当且仅当您使用生成循环中物理上多个组件(如JSTL
)时,组件树中确实会有物理上多个
组件,您需要将它们绑定到数组或映射。但目前情况显然不是这样。

是否要跟踪列表中的每个对象
value=“#{bean.items}”