1

私の環境は、NetBeans7.2.1、GlassFish3.1、JSF2、および Weld 1.1.0 です。

これらのケースのいずれかでエラーページにリダイレクトしようとしています ( session/conversation/view timeout )。

私が読んだことから、いくつかのオプションがあります:

  1. <error-page>内部で使用しますweb.xml(ただし、何らかの理由locationerror.xhtmlページで使用すると、サーブレットでのみ機能しません-この問題についてこの質問をしました)

  2. この例ではlikeを使用する<exception-handler-factory>insidefaces-config.xmlを使用します。CustomExceptionHandler

  3. この例では@WebFilterlikeを使用しています。

私の主な問題は、ページにリダイレクトした後error.xhtml、前のページに戻るのを無効にしたいということです。そのため、ユーザーが [戻る] ボタンをクリックしても、エラー ページにリダイレクトされます。

例外が発生したときにエラーページにリダイレクトできましたが、キャッシュをクリアできなかったため、ユーザーが戻ったときに前のページのコンテンツを表示できます。

上記の 3 つのオプションの違いと、各オプションの役割を正確に理解していません。

誰か説明してもらえますか?

の違いは何ですか

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

((HttpServletResponse)response).sendRedirect("yourCustomJSF.jsf");?

ユーザーが前のページを表示できないように、キャッシュをリダイレクトしてクリアすることで、これらの例外を処理するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

0

これを使用して、期限切れのセッション/ビューを処理できます。

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/index.jsf</location>
</error-page>
于 2013-10-30T10:05:06.213 に答える