问题描述
||
我已经解决了我以前发布的问题:
ui:repeat,填充列表
现在,我想知道如何在表单中修改值并将其传递给我的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>
在豆:
私有列表iniciosMesList = null;
CeldaGrid是具有其获取器/设置器的类
我想要获取每个inputText形式的值,然后再重新创建列表,然后再传递给数据库。
如何访问此值???
谢谢
解决方法
使用
<h:input>
代替<input
>。提供一个valueChangeListener属性,该属性绑定到您的支持Bean。对于用户已更改列表中的每个值,将调用此侦听器。您还可以通过此回调提供或获取item
迭代变量。
这样,您可以构造所有已更改项目的列表,并将其发送到数据库。或者,如果将它们与原始列表合并,然后将其发送到数据库。
(ps.s.我建议您不要像private List iniciosMesList = null;
中那样使用原始列表,而是正确地对其进行参数化)