* 在页面中增加一个隐藏域:<s:token></s:token>
* 创建一个struts.xml的配置文件,具体配置如下:
<!-- 配置默认执行的拦截器栈,增加令牌拦截器 --> <interceptors> <interceptor-stack name="tokenStack"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="token" > <!-- 配置令牌拦截器,拦截的方法名,如果配置多个方法时,用","隔开 --> <param name="includeMethods">save,update</param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="tokenStack" />
* 在struts.xml配置文件中,增加一个result结果类型: <!-- 配置表单重复提交后,要转向到的页面 --> <result name="invalid.token">/model/error.jsp</result> * 在表单重复提交后,要转向到的页面中通过<s:actionerror>获取struts2框架底层提供错误提示信息 * 将struts2框架底层提供错误提示信息改成中文: * 在与动作类action同级目录下,创建名为"token.properties"的资源文件,文件内容如下: struts.messages.invalid.token=表单重复提交,请刷新后重试!
基于struts2的令牌拦截器,防止表单重复提交,布布扣,bubuko.com
原文:http://blog.csdn.net/kingherooo/article/details/20362053