Ordinary hut

人间一福地,胜似天仙宫
posts - 61, comments - 50, trackbacks - 0, articles - 1

导航

<2014年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

搜索

  •  

最新评论

阅读排行榜

评论排行榜

struts2的token使用

Posted on 2009-04-07 21:09 landor 阅读(2917) 评论(4)  编辑  收藏 所属分类: struts2
<s:token > </s:token>
在jsp页面的form里面加上
注意:要先访问到这个jsp页面,来给token初始的值,这样当你提交的时候,才能匹配上

刚进入jsp页面的时候,struts2会生成一个tokenid的字符串,然后存入session。当点击提交按钮的时候,struts2把页面 的tokenid回传到struts2的拦截器里,看看是否一样,一样的话,就在给tokenid赋个新值,然后传回表单,当再点击提交或者刷新的时 候,又执行上面的过程,结果session中的tokenid和表单中的不一样,就出错

<action name="xxx"  class="xxx">
      
<interceptor-ref name="token"/>
       <interceptor-ref name="defaultStack"/>
       <result name="invalid.token" type="dispatcher" >/jsp/repeatRefresh.jsp</result>
       <result name="input" type="dispatcher" >/jsp/Person.jsp</result>
       <result name="success" type="dispatcher" >/jsp/Person.jsp</result>
</action>

上面的invalid.token默认是不一致时候的result,这样就返回到repeatRefresh.jsp页面,在这里给出提示,比如:不能重复提交等等
 别忘了在页面的form里加上 <s:token > </s:token>,可以查看源代码,就能找到tokenid的值

Feedback

# re: struts2的token使用[未登录]  回复  更多评论   

2012-12-10 12:43 by a
qq

# re: struts2的token使用  回复  更多评论   

2013-06-28 00:31 by 羽烨
能提个问题吗?我配置了token之后,的确是能拦截到多次提交,但是第一次提交的时候后台会抛异常啊,

Unexpected Exception caught setting 'token' on 'class action.userAction: Error setting expression 'token' with value ['K1BK9O5F5WJ4IAJ8AIE9RVM7AEX89IA3', ]
Error setting expression 'token' with value ['K1BK9O5F5WJ4IAJ8AIE9RVM7AEX89IA3', ] - [unknown location]

这是怎么回事呢?

# re: struts2的token使用  回复  更多评论   

2013-10-25 19:07 by 11
ggggggg

# re: struts2的token使用  回复  更多评论   

2014-09-28 11:59 by wewc
是倒萨

只有注册用户登录后才能发表评论。


网站导航: