우리는 Liferay Portal 6.0을 사용하고 있습니다. 포틀릿은 Primefaces 3.4, JSF 2.1입니다. 우리는 동일한 사용자 용으로 열리는 브라우저 탭을 두 개 이상 지원하며 각 탭은 한 번에 최대 15 개의 포틀릿을 가질 수 있으며 각 포틀릿은 iframe
을 사용하는 JSF 페이지 (ViewScopedBean
).열려있는 모든 JSF 페이지를 얻고 서버 측에서 닫거나 리디렉션하는 방법은 무엇입니까?
열린 JSF 페이지 (포틀릿 내부의 iframe
내부)는 포틀릿이 닫히거나 전체 브라우저 탭이 닫힐 때를 알지 못하므로 세션 시간이 초과 될 때까지 메모리에 남아 있습니다. 그리고 이로 인해 서버 메모리에 심각한 문제가 발생하여 오류가 발생합니다.
제 질문은 다음과 같습니다. 서버 쪽에서 열린 페이지 (보기) 목록을 어떻게 표시합니까? 어떻게 그들을 닫을 수 있습니까? 나는 ViewScopedBean
이 다른 페이지 (회피책으로 더미 페이지)로 리디렉션 될 때 파괴된다는 것을 알고 있으므로 목록에서 각 페이지를 리디렉션 할 수 있습니까?
대단히 감사합니다.
추상화를 보지 않고 네트워크 프로토콜을 살펴보십시오. 서버는 클라이언트가 수행중인 작업을 어떻게 알 수 있습니까? JSF/서블릿/포틀릿은 HTTP를 기반으로합니다. – McDowell
클라이언트 쪽 Javascript로 페이지를 리디렉션하면 브라우저 탭이나 창을 닫을 때 성가신 확인/취소 대화 상자가 나타납니다. 그래서 서버 측 솔루션을 생각하고 있습니다. –
@McDowell 당신은 정확히 무엇을 제안하고 있습니까? –