2013-09-22 2 views
1

부울 속성이있는 객체 목록이 있습니다. 확인란 목록을 사용하여 목록의 모든 개체에 대해 해당 속성을 선택/선택 취소합니다. 내 문제는 양식을 다시 렌더링 한 후 이미 선택된 확인란이 비어있는 것입니다. 왜 그런가요? 기본적Ajax 렌더가 선택된 체크 박스를 다시 선택합니다.

<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

backing bean의 범위는 무엇입니까? 그리고 어떤 시점에서'employeeList'가 채워지 는가? – kolossus

+0

빈은 ViewScoped이고 목록은 PostConstruct 메소드로 채워집니다. @kolossus –

+0

'@ PostConstruct'가 반복적으로 호출되지 않는지 확인하십시오. – kolossus

답변

1

<f:ajax>execute="@this" 공정에서와 같이 현재 부품. 양식 전체를 처리하려면 명시 적으로 전체 양식을 @form으로 지정해야합니다.

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

event="click"을 삭제했습니다. 이것은 이미 기본값입니다.

관련 문제