一共2步:
首先,在要避免重复提交的表单中,加struts2标签 这句
<s:token></s:token>
只要是用来验证是否重复提交的,当加载进页面时,标签会生成一个唯一的隐藏字段,内容如下:
<input type="hidden" name="struts.token" value="FRD7878YJFTR574454HHHKOKJ" />
然后配置struts-xxx.xml
eg:
<package name="XXX" namespace="/xxx" extends="struts-default"> <action name="xxx_add" method="add" class="com.xxx.action.xxxAction"> <interceptor-ref name="defaultStack"/>//这句是默认的拦截器,有时不加会异常 <interceptor-ref name="token"/>//这句是防表单提交的token拦截器,用来判断是否重复提交的 <result name="invalid.token">/xxx/noback.jsp</result>//这句是如果有表单重复提交,就请求转发到重复提交信息页面 </action> <action name="xxx_getById" method="getById" class="com.xxx.action.xxxAction"> <result name="getById">/xxx/xxx_getById.jsp</result> </action> </package>
说明:struts-xxx.xml配置时,token拦截器,一定要根据需要加入响应的action中,不要全部action都加,我曾经遇到过,把全部action都加了,以为反正不影响什么,但是却出现错误了,在查询的时候,直接请求转发到重复提交信息页面,浪费了我好多时间。所以要根据需求及需要的加,上面我列出了2个action就是为了说明这个道理的,不需要的不加。当然也可以定义成全局的,需要时直接引用,这样的做法很好,在这里就不例举了~
相关推荐
struts2中对表单重复提交的处理方法;包括处理两种典型的表单重复提交的思路和方法
这里是Struts2 中放置表单重复提交的例子。
2) 二是,forward跳转引起的重复提交。当用户将信息提交到服务器,服务器响应采用forward方式调转到下一个页面后,此时地址栏中显示的是上个页面的URL,若刷新当前页面,浏览器会将再次提交用户先前输入的数据,就会...
struts token机制解决表单重复提交
运用struts2解决表单的重复提交问题
struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...
Servlet、Struts、SpringMVC对于表单重复提交的解决方案
struts2防止表单重复提交--重定向
struts2令牌解决页面重复提交问题,资源中包含一个实例代码
Struts2文件上传下载和表单重复提交问题
主要讲解了在structs怎样通过Token令牌解决表单重复提交的问题。附带了擦参考项目。
防止表单重复提交 token eclipse项目
【原创】Struts2防止表单重复提交.doc
Struts2防止重复提交解决方案
详细介绍struts+token机制解决表单重复提交问题。附带相关代码
Struts表单重复提交问题 资源源于不但搜索,自由源于不但努力
SSH笔记-数据验证、上传下载、避免表单重复提交、自定义拦截器
这个示例简单易懂,就是利用token过滤器
整合了struts2 jquery的formValidator表单验证的页面代码, 包含验证用户是否存在,提交表单等