您的位置:首页 > 编程语言 > Java开发

struts2-令牌拦截器防止表单重复提交

2017-06-23 16:44 330 查看
1、在表单中增加隐藏域:<s:token></s:token>

2、在struts.xml中增加结果集:<result name="invalid.token">/user/error.jsp</result>

3、在error.jsp中增加错误提示: <s:actionerror />

4、由于默认的拦截器中没有令牌拦截器,需要手动增加

<interceptors>
<interceptor-stack name="tokenStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token">
<param name="includeMethods">add</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>

并将新定义的拦截器设置为默认的拦截器:

<default-interceptor-ref name="tokenStack"></default-interceptor-ref>

由于错误提示是英文版,用加载资源文件的方式将之替换成中文

5、在src下定义token.property文件,name=struts.messages.invalid.token。value=重复提交错误。

6、加载资源文件到struts中,value属性为其资源文件所在的完整路径名

<constant name="struts.custom.i18n.resources"
value="com.struts.cwl.struts2.action.token>

</constant>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: