2009-02-01 5 views
1

세션 범위가있는 약간의 솔기 응용 프로그램으로 놀고 있습니다. 마지막 방법은 우편으로 보내는 것입니다. 메일을 보낸 후 내 세션을 무효화하려면 어떻게해야합니까? 현재 사용자가 초기 URL을 다시 호출하면 세션은 계속 유지되며 이전에 채워진 양식 데이터가 모두 그대로 유지됩니다.seam POJO 세션을 무효화하는 방법

대화 및 ejb에서는이를 수행하는 방법을 찾았지만 POJO 및 세션에서는이를 수행하지 못하는 예제를 발견했습니다.

감사합니다, 로리

답변

1

Session.instance() 무효화().;

3

ISASI's answer 당 당신은 세션을 무효화하기 위해이 코드를 사용할 수 있습니다 : 대답에서

Session.instance().invalidate(); 

당신의 후속 (당신은 변태, 답변으로 추가) "질문"에. 사용자에게 성공을 알린 후 세션을 닫으려면 "확인"페이지를 만들고 "성공"결과와 관련된 규칙을 기반으로 페이지로 리디렉션하십시오. 그런 다음 페이지 작업을 만들어 세션을 무효화하십시오. 당신이 보상 페이지 매개 변수와 주변 해킹해야 할 수 있도록 즉, 세션 데이터에 액세스 관련하여 타이밍 문제를 만들 수 있도록

<page view-id="/process/confirm.xhtml" action="#{emailManager.completeSession}"> 

기술적으로, 세션이 페이지를 렌더링 beofre 종료됩니다. 이것은 기본적으로 이메일 당 세션을 사용하여 "잘못"하고 있기 때문입니다. 뷰를 렌더링 한 후에 대화를 끝내는 @End 주석이 있기 때문에 대화를 사용하는 것이 훨씬 더 쉬울 것입니다. 훨씬 쉽습니다.

응용 프로그램에 둘 이상의 작업이 포함되면 대화를 사용하도록 전환해야합니다. 작업간에 유지되는 상태가 없어지기 때문입니다. 나는 그것이 아주 빨리 일어날 것이라고 상상한다. 이러한 타이밍 및 상태 관리 문제는 Seam 대화가 해결하도록 설계된 문제입니다.