次のシナリオを検討してください。セッションがタイムアウト(期限切れ)になった後、JSFフォームの送信ボタンをクリックしています。ブラウザには、いくつかの例外メッセージが表示されます。
ViewExpiredException:ビューコンテキストを復元できませんでした
私がやりたいのは、セッションの有効期限が切れた後にウェブサイトのホームページに自動的にリダイレクトすることです。これを行うメカニズムは何ですか?どんな助けでも大歓迎です。
HTTPセッションの有効期限が切れ、JSFビューステート保存メソッドがserver
に設定されている間にユーザーがページで同期POSTリクエストを呼び出すたびに例外を処理するには、 <error-page>
からweb.xml
これは、JSF ViewExpiredException
をキャッチし、ホームページを表示します。
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/home.xhtml</location>
</error-page>
非同期(ajax)リクエストでも例外を処理するには、 SessionタイムアウトおよびJSF/PrimeFaces ajaxリクエストでのViewExpiredException処理で応答されるカスタムExceptionHandler
を実装する必要があります