struts 22令牌点击3次才生效,求教!
来源:蜘蛛抓取(WebSpider)
时间:2019-08-28 15:43
标签:
struts 2
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
在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"的资源文件文件內容如下: