2012-08-07 5 views
2

나는 단순한 FacesComponent를 선언하여 복합 컴포넌트와 함께 사용한다.FacesComponent의 수명

@FacesComponent("fc/myFacesComponent") 
public class MyFacesComponent extends UINamingContainer { 
    ... 
} 

이제 FacesComponent 주석이 적용된 클래스의 수명이 얼마나됩니까?

답변

1

구성 요소 자체는 초기 구성 뷰 (JSF 수명주기의 첫 번째 단계)부터 구성 요소 트리가 다시 빌드되는 렌더 뷰 단계까지 살아납니다. 그러나 실제로 다른 것을 요청하고 싶다면 궁금합니다. 어쩌면 관리 된 콩의 일생일까요?

+0

아니, 사실은 내가 알고 싶어 이잖아. 많은 감사. –

+0

렌더링 응답 단계에서 구성 요소 트리가 두 번째로 빌드되지 않습니다. – BalusC

+0

물론, 이전 단계 및 이벤트 중에보기가 변경 될 수 있으므로 적어도 한 번 다시. 그리고 물론 뷰 ID가 바뀌었을 때. MyFace의 org.apache.myfaces.lifecycle.RenderResponseExecutor.execute()를 확인하십시오. 뷰에 c : if와 같은 JSTL 태그가 있거나 동적 포함을 사용하는 경우 (ui : EL 표현식 포함)에 트리가 변경 될 수 있기 때문에 뷰 ID가 변경되지 않은 경우 렌더링 단계에서도 두 번째 buildView 프로세스가 필요합니다. src-attribute). – Ingo

-1

@FacesComponent ("fc/myFacesComponent") 수명이 Reuest Scope이며 변경할 수 없습니다.

원할 경우 bean (Session)을 주입하고 상태를 가져 와서 구성 요소에 표시 할 수 있습니다.

백업 빈은 JSF 관리 빈 또는 CDI 용접 콩입니다.

덕분에, 의 Roshan는