9

JSFでviewExpiredExceptionを処理するために、私はコーディングしました

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/error.html</location>
</error-page>

<session-config>
    <session-timeout>1</session-timeout>
</session-config>

web.xml

error.html元のログインページにリダイレクトしました。ただし、問題は、セッションの有効期限が切れても、セッションスコープのBeanがクリアされなかったことです。これを解決する方法はありますか?

4

1 に答える 1

7

ログイン ページがブラウザ キャッシュから要求された可能性があります。Filterに結び付けられ、FacesServlet基本的にメソッドに次の行を持つを作成して無効にしdoFilter()ます。これにより、キャッシュされないようにしたいすべてのページでそれを繰り返す必要がなくなります。

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
于 2010-01-22T00:35:41.253 に答える