关于struts2的防止表单提交,网上有很多文章,给出另一位iteye的网友的文章链接:
http://wosyingjun.iteye.com/blog/1922768
将我实际使用中的情况做个记录:
首先,表单重复提交的情况大概有:
1.多次点击submit提交
2.提交后刷新浏览器
3.浏览器URL回车
使用上面这位网友说的tokenSession,当没有配置<result name="invalid.token">的时候,重复提交表单的1和2的情况都能完美处理,但是第三种情况会出现404
这时候我发现还需要配置<result name="invalid.token">,让它返回到请求处理前的页面,这样就能完美处理此三种表单重复提交的问题了
正确的配置:
jsp页面:表单中加上<s:token/>
Action的配置中:
<action name="registStep1" class="userAction" method="registStep1"> <interceptor-ref name="tokenSession"/> <interceptor-ref name="defaultStack"/> <result name="invalid.token">/WEB-INF/jsp/user/regist_step1.jsp</result> </action>