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

struts2 token 重复提交

2013-11-08 15:32 316 查看
<s:token></s:token>在jsp页面的form里面加上
注意:要先访问到这个jsp页面,来给token初始的值,这样当你提交的时候,才能匹配上

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

<actionname="xxx"class="xxx">
<interceptor-refname="token"/>
<interceptor-refname="defaultStack"/>
<resultname="invalid.token"type="dispatcher">/jsp/repeatRefresh.jsp</result>
<resultname="input"type="dispatcher">/jsp/Person.jsp</result>
<resultname="success"type="dispatcher">/jsp/Person.jsp</result>
</action>
上面的invalid.token默认是不一致时候的result,这样就返回到repeatRefresh.jsp页面,在这里给出提示,比如:不能重复提交等等
别忘了在页面的form里加上 <s:token > </s:token>,可以查看源代码,就能找到tokenid的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts 字符串 拦截器