2011-03-09 4 views
0

FacesContext.addMessage() 함수에 대해 알고 있습니다. 그러나 다른 창에서와 같이 현재 내가 다른 얼굴 컨텍스트에있는 경우 어떻게됩니까?한 얼굴 컨텍스트에서 다른 JSF 컨텍스트로 메시지를 보낼 수 있습니까?

현재 세션에 저장된 다른 FacesContext 객체에 대한 참조를 얻을 수있는 방법이 있습니까?

기본적으로 팝업 창에서 부모에게 메시지를 보내려고하지만 부모의 FacesContext 객체에 대한 참조가 없습니다.

답변

1

정확하게 작동하지 않습니다. FacesContext는, 이미 렌더링되고있는 윈도우의 내부에서, 실제로 액티브하게 대기하고있는 것이 아닙니다.

특정 "창"에 대한 FacesContext는 궁극적으로 HTML을 포함하는 응답을 보내는 요청을 처리하는 스레드에서만 사용할 수 있습니다. 이 HTML 응답이 수신되면 브라우저는이를 표시합니다. 그 순간에는 HTML과 연결된 서버 측 FacesContext에 대한 개념이 없습니다.

리버스 AJAX (혜성)를 사용하면 서버에서 특정 클라이언트로 콘텐츠를 푸시 할 수 있습니다. 이러한 서버 측 푸시와 연관된 백킹 빈은 일시 중지 될 수 있으며 일부 서버 측 이벤트를 기다릴 수 있습니다. CDI 버스가 가장 편리 할 것이지만 기본적으로 HTTP 세션을 통해 공유되는 객체에 대한 구식 알림 기능도 작동합니다.

팝업 또는 이와 관련된 다른 창과 연관된 백킹 빈이이 이벤트를 트리거 할 수 있습니다.

+0

감사합니다. 도움을 받으십시오. –

관련 문제