Java 浏览器按钮调用struts2中提交表单的操作

Java 浏览器按钮调用struts2中提交表单的操作,java,struts2,action,browser-security,Java,Struts2,Action,Browser Security,浏览器前进和后退按钮调用struts2中提交表单的操作 (例如登录表单)。我需要提交表单,只需手动单击表单的提交按钮 以下代码可用于通过键入url来阻止调用操作。 String referrer = servletRequest.getHeader("referer"); 但是浏览器按钮的作用是单击提交按钮,因此它们提交表单 任何提前的帮助。谢谢 我同意乌梅什所说的。您可以尝试在http响应中添加一些头,每次单击“后退”或“前进”按钮时,这些头都会清除缓存。如果您将其添加到拦截器中,这将非常有

浏览器前进和后退按钮调用struts2中提交表单的操作

(例如登录表单)。我需要提交表单,只需手动单击表单的提交按钮

以下代码可用于通过键入url来阻止调用操作。

String referrer = servletRequest.getHeader("referer");
但是浏览器按钮的作用是单击提交按钮,因此它们提交表单


任何提前的帮助。谢谢

我同意乌梅什所说的。您可以尝试在http响应中添加一些头,每次单击“后退”或“前进”按钮时,这些头都会清除缓存。如果您将其添加到拦截器中,这将非常有效

response.setHeader("Cache-Control", "no-cache, no-store"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0`enter code here`
response.setDateHeader("Expires", 0); //prevents caching at the proxy server   

这应该能解决你的问题。

我同意乌梅什所说的。您可以尝试在http响应中添加一些头,每次单击“后退”或“前进”按钮时,这些头都会清除缓存。如果您将其添加到拦截器中,这将非常有效

response.setHeader("Cache-Control", "no-cache, no-store"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0`enter code here`
response.setDateHeader("Expires", 0); //prevents caching at the proxy server   

这应该可以解决您的问题。

浏览器就是这样工作的。但我不需要通过浏览器的“后退”和“前进”按钮提交表单。我怎么做?我不确定是否要禁用浏览器按钮。作为一种替代方法,您希望处理的具体用例是使用适当的HTTP标头清除浏览器缓存浏览器就是这样工作的。但是我不需要通过浏览器的“后退”和“前进”按钮提交表单。我怎么做?我不确定是否要禁用浏览器按钮。作为一种替代方法,您希望处理的具体用例是使用适当的HTTP头清除浏览器缓存