Struts2 多次单击“提交”按钮时防止重复提交表单

Struts2 多次单击“提交”按钮时防止重复提交表单,struts2,duplicates,token,Struts2,Duplicates,Token,我正在使用struts2进行一个webapp项目,我希望在多次单击表单提交按钮时防止重复输入。我更愿意在服务器端处理这个问题,以确保浏览器兼容性。webapp遵循工作流表单->操作(在大多数情况下,先验证save(),然后保存())->RESULTPAGE(这是一个jsp)。我正在使用“继续”链接表单->结果页面。我已经读到重定向会更好,但在某些情况下,我在正确加载结果页所需的操作中设置了一个bean(作用域是request) 这就是我在TokenSession中遇到的问题。如果请求是重复的,我

我正在使用struts2进行一个webapp项目,我希望在多次单击表单提交按钮时防止重复输入。我更愿意在服务器端处理这个问题,以确保浏览器兼容性。webapp遵循工作流表单->操作(在大多数情况下,先验证save(),然后保存())->RESULTPAGE(这是一个jsp)。我正在使用“继续”链接表单->结果页面。我已经读到重定向会更好,但在某些情况下,我在正确加载结果页所需的操作中设置了一个bean(作用域是request)

这就是我在TokenSession中遇到的问题。如果请求是重复的,我可以跳过保存,但我无法正确设置bean以加载结果页

非常感谢您的帮助,提前谢谢

这可能会对你有所帮助

因为Struts 2提供了
令牌拦截器
,我们可以用它来处理多表单提交问题


我已经尝试过这个方法,包括令牌和令牌会话拦截器,但它没有给我希望的结果。在某些情况下,由于没有设置bean,我会收到一个错误,因为在某些业务流程中,结果页面中要使用的bean没有正确设置。我怀疑重复文章的重定向到达结果页的速度比第一个请求初始化bean的速度要快。不过,这是一个很好的开始,谢谢Guatam。我以前使用的是一个较旧版本的struts,它有一个关于同步上下文的错误,该上下文被重定向到无效令牌。这就是我以前获得NPE的原因。我更新到2.1.3版,使用了tokenSession拦截器,通过一些调整,我能够解决这个问题。再次感谢你抽出时间。太好了!!。。很高兴我能帮忙