2

我想从浏览器历史记录中排除第 1 页,这样当我离开它时(比如说第 2 页)然后按后退按钮,它就不会显示第 1 页。

否则,如果从 1 -> 2 开始禁用 2 上的后退按钮。

有什么办法可以实现吗?(不使用javascript)

我在第 1 页上有一个表单,成功提交后会显示第 2 页。
但是,当我单击第 2 页上的后退按钮时,我不希望显示第 1 页。要么它应该被禁用,要么它应该恢复表单提交(删除所有会话变量),然后显示第 1 页。

如何才能做到这一点?

我在我的项目中使用 Spring MVC 和 JSP 视图。

4

2 回答 2

0

Depending on how long you want this behavior to last you can store the form status from page 1 in a session var or cookie. Session vars will last as long as the user has their browser open. You can set the expiration for a cookie to last a few minutes or to never expire.

You can set up a filter between requests for page 1 and page 2. In the filter check for either the session var or cookie. If the value is for a submitted form then redirect to page 2. If the value is not set or set to something else (depending on your implementation) then redirect to page 1.

于 2013-03-12T15:43:46.953 回答
0

您可以在显示页面时编写会话参数,以强制用户在访问 page2 之前访问 page1。

@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 回答