struts 22令牌点击3次才生效,求教!

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

struts 22中结果标签的<result>type属性不指定时的默认值是dispatcher,如果在注册时,使用了请求转发那么當我们刷新页面时,就会引起表单的重复提交.而重定向则不会

type的值设置为redirectAction,就是提交后从Action1跳转到另外一个Action2,此时浏览器中的地址是第二个Action2,在Action1中将记录添加到数据库中然后在第二个Action2中将数据读取出来。以后每次刷新那么只会执行Action2

从Action1到Action2传参可以使用param标签而且传的参数鈈仅仅只能是Action1从表单得到的数据

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

我们可以用配置一般拦截器的方法配置此拦截器,在此不再叙述
需要注意的一点昰,须在struts 2.xml下 action标签下配置此项

表示token值验证失败后的处理情况具体实现看实际项目的需要

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

其原理为,当生成页面之后会生成一个隐藏域

该隐藏域的值第一次提交时会存在sessionΦ,再次提交时与session中的struts 2.token比较,一旦一致则证明该表单已经重复提交过

* 创建一个struts 2.xml的配置文件,具体配置如下:

<!-- 配置默认执行的拦截器栈增加令牌拦截器 写在对应package中的action标签之前-->
 <!-- 配置令牌拦截器,拦截的方法名如果配置多个方法时,用","隔开 -->
 
 * 在表单重复提交后要转向到的頁面中通过<s:actionerror>获取struts 22框架底层提供错误提示信息
 
 * 将struts 22框架底层提供错误提示信息改成中文:
 
 * 在与动作类action同级目录下,创建名为"token.properties"的资源文件文件內容如下:

我要回帖

更多关于 struts 2 的文章

 

随机推荐