2011-06-12 34 views
0

我已经解决了我的前面的问题发表于:如何从UI值:重复HTML表单

ui:repeat, populate list

现在我想知道如何获得的形式和通过修正值到我的豆子。

这是我如何做:

<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

形式

私人列表iniciosMesList = NULL;

CeldaGrid是与他们的getter/setter

一类我想在形式让每一个inputText的价值的重新创建列表之前传递到我的数据库。

我该如何访问这个值?

感谢

回答

1

使用一个<h:input>而不是<input>。提供绑定到您的支持bean的valueChangeListener属性。对于列表中用户已更改的每个值,将调用此侦听器。您可以通过此回拨额外提供或获取item迭代变量。

通过这种方式,您可以构建所有已更改项目的列表,并将这些项目发送到您的数据库。或者,如果将它们与您的原始列表合并并将其发送给数据库。

(附注:我建议你不要使用原始列表为private List iniciosMesList = null;,但正确的参数吧)