Java 避免重复提交Struts2JSP页面
大家好,我有一些jsp页面,我正在使用struts2来处理我的表单。Java 避免重复提交Struts2JSP页面,java,html,jsp,struts2,Java,Html,Jsp,Struts2,大家好,我有一些jsp页面,我正在使用struts2来处理我的表单。 用户提交表单后,地址栏中显示的url将变为somthing.action,因此当用户刷新页面时,表单将再次提交。我该怎么办?提交表单后。如果目标是防止重复提交表单,则使用令牌拦截器或令牌会话拦截器 如果您只想在提交后刷新页面,而不想再次提交,请重定向到只显示结果而不显示表单的操作。使用redirectAction结果进行此操作。POST redirected GET 需要遵循此模式以防止在刷新时重新提交表单。这意味着,在提交P
用户提交表单后,地址栏中显示的url将变为somthing.action,因此当用户刷新页面时,表单将再次提交。我该怎么办?提交表单后。如果目标是防止重复提交表单,则使用
令牌
拦截器或令牌会话
拦截器
如果您只想在提交后刷新页面,而不想再次提交,请重定向到只显示结果而不显示表单的操作。使用
redirectAction
结果进行此操作。POST redirected GET
需要遵循此模式以防止在刷新时重新提交表单。这意味着,在提交POST
请求后,POST
应发送重定向
响应,以使用GET
获取目标页面。使用此模式,如果用户刷新页面,则只会再次发生GET请求,因此在不更新服务器中任何内容的情况下获取相同的页面
这是一种常见的web设计模式。谷歌将为此提供大量资源。+1其他两个答案 是每种web技术的经典模式 是另一种使用Struts2的方式 如果您不关心与旧浏览器或禁用Javascript的浏览器的追溯兼容性,还有第三种方法:HTML5的
window.history.pushState
加载页面后,只需将url重置为原始url,按F5将获得原始页面,而不是重新提交请求
$(document).ready(function() {
window.history.pushState("","", "myOriginalUrlWithNoParams");
});