struts2实现避免表单重复提交
一共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" 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就是为了说明这个道理的,不需要的不加。当然也可以定义成全局的,需要时直接引用,这样的做法很好,在这里就不例举了~
?