나는 단순한 FacesComponent를 선언하여 복합 컴포넌트와 함께 사용한다.FacesComponent의 수명
@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
...
}
이제 FacesComponent 주석이 적용된 클래스의 수명이 얼마나됩니까?
나는 단순한 FacesComponent를 선언하여 복합 컴포넌트와 함께 사용한다.FacesComponent의 수명
@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
...
}
이제 FacesComponent 주석이 적용된 클래스의 수명이 얼마나됩니까?
구성 요소 자체는 초기 구성 뷰 (JSF 수명주기의 첫 번째 단계)부터 구성 요소 트리가 다시 빌드되는 렌더 뷰 단계까지 살아납니다. 그러나 실제로 다른 것을 요청하고 싶다면 궁금합니다. 어쩌면 관리 된 콩의 일생일까요?
@FacesComponent ("fc/myFacesComponent") 수명이 Reuest Scope이며 변경할 수 없습니다.
원할 경우 bean (Session)을 주입하고 상태를 가져 와서 구성 요소에 표시 할 수 있습니다.
백업 빈은 JSF 관리 빈 또는 CDI 용접 콩입니다.
덕분에, 의 Roshan는
아니, 사실은 내가 알고 싶어 이잖아. 많은 감사. –
렌더링 응답 단계에서 구성 요소 트리가 두 번째로 빌드되지 않습니다. – BalusC
물론, 이전 단계 및 이벤트 중에보기가 변경 될 수 있으므로 적어도 한 번 다시. 그리고 물론 뷰 ID가 바뀌었을 때. MyFace의 org.apache.myfaces.lifecycle.RenderResponseExecutor.execute()를 확인하십시오. 뷰에 c : if와 같은 JSTL 태그가 있거나 동적 포함을 사용하는 경우 (ui : EL 표현식 포함)에 트리가 변경 될 수 있기 때문에 뷰 ID가 변경되지 않은 경우 렌더링 단계에서도 두 번째 buildView 프로세스가 필요합니다. src-attribute). – Ingo