2013-09-22 3 views
1

У меня есть список объектов с булевым свойством. Я использую список флажков, чтобы выбрать/отменить это свойство для каждого объекта в списке. Моя проблема в том, что после рендеринга формы, уже выбранные флажки выглядят пустыми. Почему это?Ajax render сбрасывает выбранные флажки

<h:form> 
    <ui:repeat value="#{bean.employeeList}" var="employee"> 
     <h:selectBooleanCheckbox value="#{employee.selected}"> 
     <h:outputText value="#{employee.name}" /> 
     </h:selectBooleanCheckbox> 
    </ui:repeat> 

    <h:selectBooleanCheckbox value="#{bean.isDone}"> 
     <f:ajax event="click" render="@form" /> 
    </h:selectBooleanCheckbox> 
</h:form> 
+0

В чем заключаются бэк-бэк? И в какой момент заполняется «employeeList»? – kolossus

+0

Боб ViewScoped и список заносится в метод PostConstruct @kolossus –

+0

Убедитесь, что '@ PostConstruct' не вызывается повторно? – kolossus

ответ

1

В <f:ajax> процессы по умолчанию текущего компонента, как и в execute="@this". Вам нужно явно указать всю форму на @form, если вы собираетесь обрабатывать всю форму.

<f:ajax execute="@form" render="@form" /> 

Обратите внимание, что я удалил event="click". Это уже по умолчанию.

Смежные вопросы