JSF динамическая форма с selectManyCheckbox - PullRequest
2 голосов
/ 10 февраля 2011

Я работаю над проектом JSF 2.0 с использованием Mojarra, PrimeFaces и Tomcat 6.x

Я создал динамическую форму только с помощью selectManyCheckbox.

У меня есть следующий код:

<ui:repeat value="#{wagent.prArticles}" var="theme">
    <h:selectManyCheckbox layout="pageDirection" styleClass="pressReviewTable" value="#{bean.selectedArticles}">
        <f:selectItems value="#{theme.articles}" var="prArt" itemLabel="#{prArt.prLabel}" itemValue="#{prArt.id}" itemLabelEscaped="false"/>
    </h:selectManyCheckbox>
</ui:repeat>

selectedArticles - список объектов.

Я вижу в Интернете значение selectManyCheckbox может указывать на String[] или List<String>. С этим кодом selectedArticles не содержит все проверенные значения, только последнюю проверенную группу.

Что мне сделать, чтобы получить все проверенные значения?

1 Ответ

2 голосов
/ 10 февраля 2011

По сути, value должен быть привязан к текущему итерированному элементу, что в вашем случае theme.

<ui:repeat value="#{wagent.prArticles}" var="theme">
    <h:selectManyCheckbox value="#{theme.selectedArticles}">
        ...
    </h:selectManyCheckbox>
</ui:repeat>

В методе действия bean-компонента обратитесь к свойству #{wagent.prArticles}чтобы получить все проверенные значения.

То, с чем вы сейчас сталкиваетесь, действительно произойдет, когда вы привяжете значение к внешнему бину.По сути, JSF будет перезаписывать проверенные значения для каждого повторяющегося элемента до последнего элемента.Вот почему вы видите только проверенные значения последнего итерированного элемента.

...