2012-02-23 5 views
1

양식에 모델 개체의 많은 입력 필드가 표시되는 요구 사항이 있습니다.특정 이벤트에 대해 APPLY_REQUEST_VALUES 단계를 피하는 방법

필드 중 하나에서 외부 플러그인이 호출되고 해당 필드의 값이 해당 플러그인 (모델 양식 필드에서 변경되지 않음)에 의해 모델에서 직접 변경되었으므로 이제 해당 패널을 다시 렌더링하여 변경하려고합니다. (모델 객체의) 값이 UI 양식 필드에 표시됩니다.

확인 된 모든 항목과 플러그인은 모델의 값을 변경하고 패널의 reRender를 트리거 할 수도 있습니다. reRender를 실행하면 UI 폼의 값이 모델에 적용되고 모델 객체가 값을 잃어 버리고 (플러그인으로 설정 됨) 패널이 새로 고쳐지면 여전히 빈 필드가 표시됩니다.

이 이벤트에 대해서만 모델의 값이 표시되도록 APPLY_REQUEST_VALUES을 우회하는 방법이 있습니까? 아니면 이것에 대한 더 나은 해결책이 있습니까?

감사합니다, 사티

답변

2

당신은이에 대한 immediate="true"를 사용할 수 있습니다.

<a4j:support ... immediate="true" /> 

이렇게하면 현재 구성 요소 만 처리됩니다.

또 다른 방법은 값 변경 리스너에서 즉시 응답을 렌더링하여 모델 값 업데이트 (및 호출 동작) 단계를 건너 뛰는 것입니다.

FacesContext.getCurrentInstance().renderResponse(); 
관련 문제