2013-10-30 66 views
1

我的環境是:NetBeans7.2.1,GlassFish3.1,JSF2和焊接1.1.0。的Java EE會話/會話/視圖超時重定向

我試圖重定向到一個錯誤頁面在這些情況下(會話/會話/視圖超時)之一。

從我讀有期權數量:

  1. 使用<error-page>web.xml(但由於某些原因,當我使用locationerror.xhtml頁它不工作,只用一個servlet - 問this問題這個問題)。

  2. 使用<exception-handler-factory>裏面faces-config.xml這將使用CustomExceptionHandlerthis例如。

  3. 使用@WebFilterthis例子。

我的主要問題是,在我重定向到error.xhtml頁面之後,我想禁用返回上一頁。所以即使用戶點擊後退按鈕,他仍然會被重定向到錯誤頁面。

我能夠重定向到一個錯誤頁面時異常accourd,但是當用戶回到他仍然可以看到以前的網頁內容無法清除緩存等等。

我不完全瞭解什麼是上面的3個選項之間的diffrances,以及什麼是每個選項的作用。

有人能解釋一下嗎?

是什麼

NavigationHandler nav = fc.getApplication().getNavigationHandler(); nav.handleNavigation(fc, null, "/error"); facesContext.renderResponse();

((HttpServletResponse)response).sendRedirect("yourCustomJSF.jsf");差異性之探源?

我如何處理這些異常,通過重定向和清除緩存,以便用戶將無法看到前面的頁面?

感謝提前。

回答

0

您可以用這個手柄過期的會話/視圖:

<error-page> 
    <exception-type>javax.faces.application.ViewExpiredException</exception-type> 
    <location>/index.jsf</location> 
</error-page> 
0

我的主要問題是,我重定向到error.xhtml頁面後,我想禁用回到之前的頁面。所以即使他仍然會被重定向到錯誤頁面上的返回按鈕,用戶clickes

做到這一點使用過濾器不緩存頁面和發送請求到服務器,而不是 看到這得到過濾器代碼

https://stackoverflow.com/a/19034603/2422368