2

ブラウザーの履歴からページ 1 を除外したいので、そこから離れて (ページ 2 としましょう)、戻るボタンを押してもページ 1 は表示されません。

または、1 -> 2 に移動すると、2 の戻るボタンが無効になります。

これを達成する方法はありますか?(ジャバスクリプトは使用していません)

ページ2が表示されるのが正常に送信されると、ページ1にフォームがあります。
ただし、ページ2の戻るボタンをクリックしたときにページ1を表示したくありません。無効にするか、フォームの送信を元に戻して (すべてのセッション変数を削除して)、ページ 1 を表示する必要があります。

これはどのように行うことができますか?

プロジェクトで Spring MVC および JSP ビューを使用しています。

4

2 に答える 2

0

ページを表示するときにセッションパラメータを記述して、ユーザーがページ2にアクセスする前にページ1にアクセスするように強制できます。

@RequestMapping("/page1.html")
public String page1(HttpSession session){
    session.setAttribute("seen_page_1", "true");
    return "page1";
}

@RequestMapping("/page2.html")
public String page2(HttpSession session){
    if(!"true".equals(session.getAttribute("seen_page_1").toString())){
        return "redirect:/page1.html";
    }
    return "page2";
}

すでにpage1にアクセスしたユーザーにpage2を表示したい場合は(ユーザーがページに戻った場合でも)、代わりにCookie値を使用できます。

于 2013-03-12T10:21:57.020 に答える
0

この動作を持続させたい時間に応じて、ページ 1 のフォーム ステータスをセッション変数または Cookie に保存できます。セッション変数は、ユーザーがブラウザを開いている限り存続します。Cookie の有効期限を数分間または無期限に設定できます。

ページ 1 とページ 2 のリクエスト間にフィルタを設定できます。フィルタで、セッション変数または Cookie を確認します。値が送信されたフォームの場合は、ページ 2 にリダイレクトします。値が設定されていないか、別の値に設定されている場合 (実装によって異なります)、ページ 1 にリダイレクトします。

于 2013-03-12T15:43:46.953 に答える