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

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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值