によって保護されていない JSF ページがありますj_security_check
。次の手順を実行します。
- ブラウザーで JSF ページを開きます。
- サーバーを再起動します。
- JSF ページのコマンド ボタンをクリックして、ajax 呼び出しを開始します。
Firebug は、ViewExpiredException
期待どおりに a が発生したことを示しています。
役職:
javax.faces.ViewState=8887124636062606698:-1513851009188353364
応答:
<partial-response> <error> <error-name>class javax.faces.application.ViewExpiredException</error-name> <error-message>viewId:/viewer.xhtml - View /viewer.xhtml could not be restored.</error-message> </error> </partial-response>
ただし、ページを保護するように構成し、j_security_check
上記と同じ手順を実行すると、奇妙なことに (私にとって)ViewExpiredException
は発生しなくなりました。代わりに、応答は単なる新しいビュー ステートです。
役職:
javax.faces.ViewState=-4873187770744721574:8069938124611303615
応答:
<partial-response> <changes> <update id="javax.faces.ViewState">234065619769382809:-4498953143834600826</update> </changes> </partial-response>
誰かがこれを理解するのを手伝ってくれますか? 例外が発生することを期待しているので、その例外を処理してエラーページを表示できます。今では、新しい ViewState で応答するだけで、私のページは視覚的なフィードバックなしで動かなくなりました。