배경 : MyFaces를 사용하는 JSF 2.0 응용 프로그램이 있습니다. 이 애플리케이션을 사용하여 사용자는 다양한 JSF 페이지를 통해 복잡한 "위젯"을 생성합니다. 세션 범위에 관리 빈을 저장하고 사용자가 각 페이지를 통과 할 때 속성이 채워집니다. 일단 그들이 "위젯"을 조립하면, 그들은 새로운 "위젯"을 만들고 그 과정을 반복하기를 원할 것입니다. 내 질문은 JSF 라이프 사이클을 중단시키지 않고 세션에서 관리 빈을 완전히 (안전하게) 제거하는 방법이다.JSF 2.0에서 Session Scoped Bean을 제거하는 방법 (언제?)
비슷한 질문에 대해 다른 응답을 보았을 때 세션을 무효화 할 수 있으며 FacesContext를 통해 HttpSession에 액세스하고 그 방법으로 Bean을 제거 할 수 있습니다. 사용자가 로그 아웃하거나 다시 로그인하면 안되며 전체 세션을 무효로하고 싶지 않습니다. FacesContext를 통해 HttpSession에 액세스하고 Bean을 제거해야한다고 가정하면 JSF 라이프 사이클에서이 작업을 안전하게 수행하여 문제가 나머지주기를 따라 계단식으로 전달되지 않는 가장 적절한 장소는 언제입니까? 나는 사용자가 다음 "위젯"을 만드는 과정을 시작할 때 JSF가 새로운 세션 빈을 만드는 데 아무런 문제가 없음을 확인하고자한다.
또한 JSF에서 이것이 더 쉬운 이유가 무엇인지 궁금합니다. 의도 한 JSF 패턴에 따라 더 나은 다른 접근법이 있습니까? 관리 Bean은 완료되기 전에 여러 페이지와 뷰를 거치기 때문에 뷰 범위를 사용할 수 없습니다.
미리 감사드립니다.
감사합니다 BalusC, 나는 이것이 지금 상황에서 효과가있을 것이라고 생각합니다. 더 복잡한 응용 프로그램에서는 이것이 더 문제가 될 수 있습니다. 세션 빈을 다루는 것은 정말 많은 번거 로움입니까? – tcprogrammer
이것에 ViewScope Bean을 사용하게되었습니다. 감사! – tcprogrammer