struts2从零开始(三)
拦截器
1、拦截器设置令牌
1.1、页面中添加设置令牌的标签(代码如下)
1.2、配置action时需要引用token拦截器(代码如下)
struts.properties中的内容是:struts.custom.i18n.resources=mymessage
mymessage_zh_CN.properties中的内容是:messages.invalid.token=\u8868\u5355\u91CD\u590D\u63D0\u4EA4\uFF0C\u8BF7\u68C0\u67E5
mymessage_en_US.properties中的内容是:messages.invalid.token=The form has already been processed or no token was supplied, please try again.
注意:如果配置了拦截器请必须加上默认的
<interceptor-ref name="defaultStack"></interceptor-ref>
3、自定义拦截器
3.1、可是实现Interceptor接口(代码如下)
<interceptor-stack name="myInterceptorStack"> <interceptor-ref name="first"></interceptor-ref> <interceptor-ref name="second"></interceptor-ref> <interceptor-ref name="third"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack>
值得注意的是:拦截器是有顺序的
拦截器的返回值与跳转的页面无关
拦截器的invoke表示往后传递调用,invokeActionOnly则会跳过后续拦截器直接调用action
源码下载请点这里: