2012-09-01 3 views
2

Servlet에서 JSF ViewScoped 관리 빈에 어떻게 액세스 할 수 있습니까? Servlet에서 JSF ViewScoped 관리 빈에 액세스

(문제의 관리 빈은 이미 생성 된, 아직 파괴되지 않은 것으로 가정)

+0

적절하게 범위가 지정되지 않았 음을 나타내는 해당 범위 외부의 bean에 액세스해야하는 경우. – McDowell

+0

해당 페이지가 살아있는 한 ViewScoped 빈은 라이브입니다. 그러면 그 페이지에서 서블릿을 호출 할 수없는 이유는 무엇입니까? – siva636

+0

아래 나의 답변보기 – McDowell

답변

4

보기 범위의 변수가 구성 요소 트리에 view map에 저장됩니다. 보기 컨텍스트 외부에서이 데이터에 액세스하려면 요청시 create a JSF contextrestore the view이 필요합니다. 여기에는 JSF container에서 제공하는 많은 기능을 다시 작성해야합니다.

JSF 2는 페이지 새로 고침없이 서버 측 상태와 상호 작용하는 메커니즘을 제공합니다 (AJAX tagsJSF JavaScript API). 나는 가능한 한 그것들을 활용할 것이다. 대안

서블릿 통해 쉽게 접근 할 수있는 범위로의 데이터 배치 (세션).

뷰 상태는 일반적으로 세션에서 유지되기 때문에

, 그것에서보기 상태에 접근 할 가능성이 기술적으로 가능 이리. 그러나 이것은 기본 프레임 워크의 업그레이드에서 생존 할 수없는 구현 관련 해킹을 포함합니다. 나는 해결책으로 이것을 보지 않을 것이다.

관련 문제