2014-08-29 21 views
1

xhtml 페이지에 bean 클래스와 selectBooleanCheckbox가 있습니다. 상자를 클릭하면 그 값이 뒷받침 빈에 설정되어야합니다.selectbooleancheckbox 클릭시 bean 값 설정

<h:selectBooleanCheckbox id="provisioningTargetCollector" 
          value="#{targetSource.provisioningTargetCollector}"> 
          </h:selectBooleanCheckbox> 

콩 클래스 : 여기

코드입니다

public boolean isProvisioningTargetCollector() { 
    return _provisioningTargetCollector; 
} 

public void setProvisioningTargetCollector(boolean provisioningTargetCollector) { 
    _provisioningTargetCollector = provisioningTargetCollector; 
} 

그러나 getter 및 setter은 페이지로드라고합니다. 체크 박스를 클릭하면 bean 메소드의 값을 어떻게 설정할 수 있습니까?

답변

4

제출 버튼 만 누르면 양식 데이터로 채워지는 모델입니다. 서버를 부분적으로 업데이트하려면 AJAX 요청을 보내야합니다. 다행히도 JSF 2부터는 <f:ajax> 태그가 도입되어 매우 간단 해졌습니다. ClientBehaviorHolder 인터페이스를 구현하는 UIComponent 인스턴스 (즉, ajax 요청을 트리거 할 수있는 구성 요소)에 ajax 기능을 추가합니다.

compenets의 부분 업데이트를 수행하려면 execute 속성의 클라이언트 ID를 <f:ajax> 태그로 지정해야합니다. execute 속성의 기본값은 @this이거나 태그가 첨부 된 구성 요소로 평가됩니다. 즉시 당신은 단지 주어진 당신은 체크 박스에서 당신이 순수한 <f:ajax /> 태그를 중첩 등이 간단하게 할 수있는 <h:selectBooleanCheckbox>, 즉 :

<h:selectBooleanCheckbox id="provisioningTargetCollector" value="#{targetSource.provisioningTargetCollector}"> 
    <f:ajax /> 
</h:selectBooleanCheckbox> 
+0

그 작업을 업데이트 할있다. 감사. 이제이 확인란의 가치에 따라 콤보 상자를 표시하거나 숨기려고합니다. 여기에서 질문을 확인할 수 있습니다 http://stackoverflow.com/questions/25551303/jsf-ajax-render-not-working-on-selectbooleancheckbox. JSF를 처음 사용하여 미안합니다. –

+0

여러분을 환영합니다! '' 태그의'render' 속성을 사용하고 업데이트 될 컴포넌트의'rendered' 속성이 평가되는 것을 따라야합니다. 이렇게하면 올바른 방향으로 안내하고 문제를 직접 해결할 수 있습니다. – skuntsel

+0

감사합니다 !! 나는 단지 그렇게하고있다. 하지만 왜 작동하지 않는지 알 수는 없습니다. 나는 여러 번 점검했다. –