我有一个List<T>
,我想编辑每个项目的属性:
<ui:repeat value="#{bean.items}" var="item">
<h:inputText value="#{bean.value}" />
</ui:repeat>
使用此代码,value
不包含所有提交的值,仅包含最新提交的值。我也尝试过<c:forEach>
和<h:dataTable>
,但没有任何区别。
我应该如何收集所有提交的值?
您的问题是由于您基本上将所有提交的值收集到one and same bean属性中而引起的。您需要将提交的值收集到var="item"
后面的bean中。
<ui:repeat value="#{bean.items}" var="item">
<h:inputText value="#{item.value}" />
</ui:repeat>
在bean操作方法中,只需迭代items
即可通过item.getValue()
获得所有提交的值。