2013-03-07 41 views
2

我想从浏览器历史记录中排除page-1,所以当我离开它(比方说第2页),然后按下后退按钮时,它不会显示page-1。如何从浏览器历史中排除页面?

否则,如果从1去 - > 2禁用2.

后退按钮有什么办法可以完成此? (不使用javascript)

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

这怎么办?

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

回答

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"; 
} 

如果你想显示第2页到谁已经访问过第1页(甚至当他们返回页面)的用户,你可以使用一个cookie的值来代替。

0

根据您希望这种行为持续多久,您可以将页面1中的表单状态存储在会话var或cookie中。只要用户打开浏览器,会话变量就会持续。您可以将Cookie的到期时间设置为持续几分钟或永不过期。

您可以在页面1和页面2的请求之间设置一个filter。在筛选器中检查会话变量或cookie。如果该值是针对提交表单的,则重定向到第2页。如果该值未设置或设置为其他(取决于您的实施方式),则重定向到第1页。

相关问题