Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何从浏览器中排除页面';什么是历史?_Spring_Jsp_Spring Mvc_Browser History - Fatal编程技术网

Spring 如何从浏览器中排除页面';什么是历史?

Spring 如何从浏览器中排除页面';什么是历史?,spring,jsp,spring-mvc,browser-history,Spring,Jsp,Spring Mvc,Browser History,我想从浏览器历史记录中排除第1页,这样当我离开它(比如说第2页),然后按“后退”按钮时,它就不会显示第1页 或者,如果从1->2开始,则禁用2上的后退按钮 有什么办法可以做到这一点吗?(不使用javascript) 我在第1页上有一个表格,关于成功提交,第2页显示。 但是,我不希望在单击第2页上的“后退”按钮时显示第1页。 它应该被禁用,或者应该恢复表单提交(删除所有会话变量),然后显示第1页 如何做到这一点 我在项目中使用Spring MVC和JSP视图。您可以在显示页面时编写会话参数,强制用

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

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

有什么办法可以做到这一点吗?(不使用javascript)

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

如何做到这一点


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

您可以在显示页面时编写会话参数,强制用户在访问第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值。

根据您希望此行为持续多长时间,您可以将来自page1的表单状态存储在会话变量或cookie中。只要用户打开浏览器,会话变量就会持续。您可以将cookie的过期时间设置为持续几分钟或永不过期

您可以在第1页和第2页的请求之间设置间隔。在筛选器中,检查会话变量或cookie。如果该值用于已提交的表单,则重定向到第2页。如果该值未设置或设置为其他值(取决于您的实现),则重定向到第1页