4
在我的應用程序有一個退出按鈕,在單擊其中的當前用戶的會話由下面這段代碼的無效..如何檢測會話已在JSF 2中失效?
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
我將用戶重定向到不同的頁面。
但現在我想如果用戶點擊後退按鈕,我會把他帶到應用程序的開始頁面,而不是他最後一頁瀏覽的頁面。 我有一個應用程序階段監聽器,它將頁面緩存相關的標頭設置爲'none',現在我只想檢測那個用戶會話已經失效。 但我猜想無論何時用戶點擊後退按鈕,它都會爲用戶創建一個新的會話。有什麼辦法可以預防它嗎?
非常感謝,但只有一個問題,您爲什麼比階段偵聽器更喜歡過濾器來設置響應頭? – user1220373
因爲它更容易。完全不需要JSF上下文。此外,鏈接答案中的示例關心JSF資源,您確實不希望爲它們禁用緩存。 – BalusC