Struts2 Token的简单应用

在Struts2中防止页面重复提交,非常简单。

 

1:首先在页面端放置一个标签<s:token/>

 

2:在Struts.xml里配置这样两句代码

    第一句:定义一个结果映射

   

<result name="invalid.token">/WEB-INF/pages/register.jsp</result>

 

 

   第二句:定义一个token的拦截器,避免拦截正常的方法

   

<interceptor-ref name="token">
     <param name="excludeMethods">default</param>
</interceptor-ref>

 

 

   这样页面再刷新提交,就不起作用了。

 

   其实现原理是对于<s:token/>标签,Struts会把它翻译为:

  

<input type="hidden" name="struts.token.name" value="xxx"/>
<input type="hidden" name="xxx" value="一串加密过的令牌值"/>

 

  然后在org.apache.struts2.interceptor.TokenInterceptor里的doIntercept()方法里进行比较,它返回的结果代码是一个常量INVALID_TOKEN_CODE="invalid.token",所以需要配置相应的结果映射。

 

  另可参加:http://bestchenwu.iteye.com/admin/blogs/1025597

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值