2012-06-09 4 views
3

BalusC 나 JSF 전문가 중 한 명이 JSF 라이프 사이클의 미세한 부분, 특히 렌더링을 이해하는 데 도움이되기를 바랍니다.Jsf 라이프 사이클 - 유효성 검사 실패 후 응답 렌더링

내가 이해하기 힘든 것은 렌더링 응답 중에 모델에서 값을 가져 와서 사용자에게 표시한다는 것입니다. 이제 유효성 검사 오류가있는 경우 모델이 업데이트되지 않으므로 렌더러는 사용자에게 구성 요소 트리의 유효하지 않은 값을 표시해야합니다. 그게 다 잘되고 있지만 렌더러가 모델에서 읽는지, 아니면 컴포넌트 트리에서 읽을지를 어떻게 결정합니까? 구성 요소 트리의 경우 요청이 유효성 검사를 통과하고 이벤트 처리기가 렌더링 직전에 모델 값을 업데이트하면 해당 값이 사용자에게 반영됩니까?

jsf 수명주기에 대해 많이 읽었지만 찾은 것 중 아무 것도 내 질문에 충분히 답변 할 수 없습니다. 이 물건이 어떻게 작동하는지 정확하게 이해하고 싶습니다.

답변

4

요청 값 적용 단계에서 모든 요청 매개 변수는 UIInput에 제출 된 값으로 setSubmittedValue()에 설정됩니다. 값이 유효한 경우에만, 검증 단계 동안

만하고, 제출 null 값으로 설정되고, 변환 및 검증 값 setValue() UIInput에 의해 설정된다. 따라서 값이 유효하지 않으면 제출 된 값은 null으로 설정되지 않습니다.

업데이트 모델 값 단계 중에 모델 값이 해당 값으로 업데이트됩니다.

렌더링 응답 단계 동안 UIInput 렌더러는 getSubmittedValue()null을 반환하지 않는지 먼저 확인합니다. 그렇지 않으면 (검증이 실패했습니다), 표시하십시오. 그렇지 않으면 모델 값을 표시하십시오.

+0

감사합니다. 적 대답은 매우 명확하고 간결합니다. –