我已经解决了以前在中发布的问题
ui:重复,填充列表
现在我想知道如何在表单中修改值并将其传递给我的bean。
我就是这样做的:
形式:
<ui:repeat value="#{myBean.myList}" var="item">
<td class="icePnlGrdCol1" id="nacionI-0-#{item.index-1}">
<input class="iceInpTxt celdaNacionI"
id="I#{item.index gt 9 ? '':0}#{item.index}"
name="I#{item.index gt 9 ? '':0}#{item.index}"
title="I#{item.index gt 9 ? '':0}#{item.index}" type="text"
value="#{item.valor}" />
</td>
</ui:repeat>
在bean中:
private List iniciosMesList=null;
CeldaGrid是一个具有getter/setter 的类
我希望在传递到我的数据库之前,获取表单中每个inputText的值并重新创建列表。
如何访问这些值???
感谢
使用<h:input>
而不是<input
>。提供一个绑定到支持bean的valueChangeListener属性。对于用户更改的列表中的每个值,都将调用此侦听器。您还可以通过此回调提供或获取item
迭代变量。
通过这种方式,您可以构建一个所有已更改项目的列表,并将这些项目发送到您的DB。或者,如果将它们与原始列表合并并发送到DB。
(附言:我建议您不要像private List iniciosMesList = null;
中那样使用原始列表,而是正确地参数化它)