• 締切済み

ログアウト後、リフレッシュしたい

お世話になります。 現在jspで、ログアウトした後トップページへ戻る処理を作成中です。 [logout.jsp] <!-- トップページへ戻る --> <tiles:insert page="top.jsp" /> <!-- セッションのクリア --> <% session.invalidate(); %> 困っているのは、logout.jspからtop.jspへ遷移したとき、一部、古い情報が表示されてしまうことです(ログアウト前の情報)。 全ページ共通で使用しているヘッダーに、「ログイン・ログアウト」リンクを持っており、ログイン中には「ログアウト」と表示し、ログアウト中には「ログイン」と表示させるようにしています。 この部分が、logout.jspからtop.jspへ遷移したとき、最新の状態で表示されません・・・ログアウトしてtop.jspへきた直後にはまだ「ログアウト」となっています。ページをリフレッシュすると、「ログイン」となり、最新の状態が正しく表示されます。 キャッシュをクリアする方法か、top.jspへきたときに1回だけページをリロードする方法か、他によい方法をご存知であれば、教えてください。 よろしくお願いします。

みんなの回答

  • world99
  • ベストアンサー率64% (20/31)
回答No.1

こんにちは。私は、Strutsでの開発経験がないので、struts-tilesタグライブラリについては、詳しくありません。参考になればと思い投稿させて頂きました。 ログイン認証後、セッションにログインフラグのような値を登録してログイン状態を保持していますでしょうか?もしそうならば、top.jspで、情報を表示している箇所に、セッションに、このログイン状態の値が登録判定するというのは、如何でしょうか? String tag = null; // HTMLタグ if (session.getAttribute("login_flg") != null) { tag = "<a href=\"logout.jsp\">ログアウト</a>"; } else { tag = "<a href=\"login.jsp\">ログイン</a>"; }

関連するQ&A