我已经解决了我之前发布的问题:
现在我想知道如何在表单中修改值并传递给我的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>
豆中的:
private List iniciosMesList = null;
CeldaGrid是一个带有getter / setter的课程
我希望获取表单中每个inputText的值,然后重新创建列表,然后传递给我的数据库。
如何访问此值???
感谢
答案 0 :(得分:1)
使用<h:input>
代替<input
&gt;。提供绑定到辅助bean的valueChangeListener属性。对于用户已更改的列表中的每个值,将调用此侦听器。您还可以通过此回调提供或获取item
迭代变量。
通过这种方式,您可以构建已更改的所有项目的列表,并将这些项目发送到您的数据库。或者,如果将它们与原始列表合并,并将其发送到数据库。
(p.s。我建议您不要像private List iniciosMesList = null;
那样使用原始列表,但要正确参数化)