struts2之Token

[b]<s:token/>[/b]
这个标签在页面中的生成效果如下:
<input type="hidden" value="struts.token" name="struts.token.name"/>
<input type="hidden" value="2TGL4IX4EUI7OSQ0C0HD4JJ1185XPBA6" name="struts.token"/>
----------------------------
如果一个action需要使用token机制,则需要进行如下的处理:
[quote] <action name="save" class="com.chsi.sample.action.SampleEAction" method="save">
[color=blue]<interceptor-ref name="token"/>[/color]
<interceptor-ref name="defaultStack" />
<result name="invalid.token" type="dispatcher">/sample/form/error.jsp</result>
</action>[/quote]

[b]在jsp页面中要显示错误信息则需要使用到标签:error.jsp:[/b]
<s:actionerror/> 这个标签打印出错误信息, 因为token的拦截器生成的信息是action级别的错误

[b]关于提示信息的处理:[/b]
struts.messages.invalid.token=The form has already been processed or no token was supplied, please try again.
struts.internal.invalid.token=Form token {0} does not match the session token {1}.

[color=blue]这里似乎要修改.jar中的这两个地方啦……,难道就不能在什么地方覆盖一下么?[/color]
d这里生成一个struts-messages_zh.properties并打包到文件struts2-core-2.0.11.2.jar中且位于:
org\apache\struts2\下面,当然我们只需要重点对struts.messages.invalid.token进行相关zh的处理就可以基本满足需要,而struts.internal.invalid.token,似乎只是在控制台输出调试信息使用的。

WARN:
16:06:55,859 WARN [TokenHelper] Form token 68X75K1RDD3M6Q4ZPD0AG6LXBK4HJFSH does not match the session token null.
这个信息的出现主要是我们生成了一个token给form后,我们又重新启动了下服务(清除了session),然后才提交表单引起的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值