2012-04-10 83 views
0

我有一个jsp页面 - 我们称之为index.jsp。用户点击此页面中的链接 - 让我们调用链接section1.jsp。在section1.jsp中,存在一个表单。当用户提交表单时,它会打开另一个名为portal.aspx的页面。如何防止使用JSP/Java将页面添加到浏览器的历史记录中?

当用户单击浏览器中的后退按钮时,我希望页面返回到index.jsp。

我的想法是这样的:从request.getHeader('referer')创建一个会话来记录index.jsp页面。这将在用户输入section1.jsp时设置。这个想法是,当用户在portal.aspx中并单击后退按钮时,我希望它检查会话变量,如果它已设置,则重定向到referer URL。然后我试了一下,但没有奏效。

是否有某种方式来完成我刚才所描述的,没有在其历史上的浏览器记录secton1.jsp,使得用户会去当说,用户点击浏览器的后退按钮从portal.aspx的index.jsp,?请理解我正在寻找服务器端解决方案,我必须使用表单打开门户。

谢谢你的帮助。

回答

1

如果你要纯服务器端,没有解决方案。 您可以选择使用cookie来存储返回URL,这可以确保您的页面流量在将来发生变化时不会丢失。唯一的问题,现在你的两个后端需要shate相同的域名。

我会亲自去一点前端的帮助,这些都是真正的API JS API来处理页面历史。

看到https://github.com/browserstate/history.js

+0

非常感谢你,奥利弗,对你有所帮助。实际上,两个后端共享相同的顶级域名,至今(必须为第二个服务器添加一个DNS条目)。 history.js文件看起来不错,但我很谨慎,因为我需要支持某些较旧的浏览器(即IE7)。如果我不使用history.js,我可以尝试cookie或者AJAX例程来检查是否设置了会话变量并重定向页面。我相信,即使用户点击后退按钮,JavaScript仍然会执行。 – user717236 2012-04-10 19:06:48

相关问题