form提交后刷新又提交一次,怎么解决,重复提交,求高人解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了form提交后刷新又提交一次,怎么解决,重复提交,求高人解答相关的知识,希望对你有一定的参考价值。

同一个jsp页面有显示部分也有form添加部分,功能是在form部分添加一条记录,提交后会转到struts,然后struts会重新读数据库把所有记录都返回到此页面,此时点击浏览器刷新按钮,则会出现错误(不能插入相同主键),原因是又进行了一次提交,请问这个问题怎么解决,谢谢。
有没有简单点的方法?

参考技术A 设置防止表单重复提交、
<s:form validate="true" action="" method="post">
参考技术B .可以用struts的token令牌控制重复提交。http://hi.baidu.com/feiyuyitiao/blog/item/9410ecfcb878cbfcfc037fdd.html 参考技术C struts的令牌思想来设计 ,你可以自己设计 参考技术D 用了struts就利用它的令牌来做

struts2框架之重复提交问题

防止重复提交

1. 什么是重复提交
* 提交表单时,点击一次后,页面没有刷新时,马上又点击一次,就是重复提交
* 提交后,通过浏览器的回退,又回到了表单页面,再次提交
* 提交后,按F5刷新,也是重复提交。

2. 防止重复提交的原理:(请看图)

3. 防止重复提交的步骤
* 在表单页面中使用<s:token>标签
* 在<action>引用token标签器
* 添加invalid.token,当重复提交时token拦截器转发到这个结果
* 在结果页面中给出<s:actionerror/>输出错误信息
* 国际化错误信息:struts.messages.invalid.token

 

以上是关于form提交后刷新又提交一次,怎么解决,重复提交,求高人解答的主要内容,如果未能解决你的问题,请参考以下文章

struts2框架之重复提交问题

怎么用ajax 提交上传的文件上传后在界面显示出来。但界面不刷新

页面刷新重复提交

php 使用history.go();window.location.reload();返回页面刷新后会提示‘如图’不想再重复提交一次怎么办

解决表单重复提交

bootstrap中模态框提交表单成功后,如果不对网页进行刷新,当再次提交表单时会提交重复数据,求解决