2011-02-09 15 views
2

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

Я создал динамичную форму только с 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 не содержит все проверенное значение, а только последнюю проверенную группу.

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

ответ

2

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

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

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

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