2011-06-12 21 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;,但正確的參數吧)