Как получить значения из ui:repeat в html-форме

Я решил свою предыдущую проблему, опубликованную в:

ui:повторить, заполнить список

Теперь я хотел бы знать, как изменить значения в форме и передать их моему компоненту.

Вот как я сделал:

в виде:

<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 в форме, чтобы заново создать список, прежде чем перейти к моей базе данных.

Как я могу получить доступ к этим значениям???

Благодарность


person davisoski    schedule 12.06.2011    source источник


Ответы (1)


Используйте <h:input> вместо <input>. Предоставьте атрибут valueChangeListener, который привязывается к вашему поддерживающему компоненту. Для каждого значения в списке, которое изменил пользователь, будет вызываться этот прослушиватель. Вы можете дополнительно предоставить или получить переменную итерации item с помощью этого обратного вызова.

Таким образом, вы можете создать список всех элементов, которые были изменены, и отправить их в свою БД. Или, если объединить их с исходным списком и отправить в БД.

(p.s. советую не использовать необработанный список, как в private List iniciosMesList = null;, а правильно его параметризовать)

person Arjan Tijms    schedule 12.06.2011