4

リンクをクリックするとユーザーセッションが置き換えられるプロジェクトに取り組んでいます。ヘッダーページ、フッター、およびコンテンツ (ページ全体) のすべてのデータはセッション データに依存するため、ページ全体 (すべてのサブページ) を再読み込みする必要があります。ブックマーク可能なページリンクを試しましたが、このリンクにアクション (セッションの変更) を設定できません。また、セッションを変更するリンクを作成してから、ブックマーク可能なページリンクをプログラムでクリックしようとしましたが、javascript を使用せずにリンクをクリックする方法が見つかりません (このプロジェクトでは代替手段ではありません)。

これを行う方法について何か良い提案はありますか?

4

2 に答える 2

5

onClickリンクの方法で、セッションのリセットを行ってから、

setResponsePage(getPage());

ページがきれいに更新されるはずです。

于 2012-10-08T11:44:03.230 に答える
5

問題の解決策は 2 つあります: セッションを交換します。

getSession().invalidateNow();

ブックマーク可能な URL へのリダイレクトを送信します。これは、次の方法でも実行できますsetResponsePage

setResponsePage(OtherPage.class, new PageParameters().add("foo", "bar"));

これにより、ブックマーク可能な URL と指定されたパラメーターを使用して 302 リダイレクトがブラウザーに送信され、ブラウザーが応答するのを待っている間に、サーブレット コンテナーがセッションをリセットする (基本的にはユーザーをログアウトする) 十分な機会が与えられます。また、新しいセッション Cookie をトリガーします (以前のセッションがアクティブでなくなったため)。

于 2012-10-08T11:58:43.203 に答える