Struts2拦截器

1.一旦我们为某包的Action显示的制定了某个拦截器,则默认拦截器不会起作用,如果该Action需要使用该默认拦截器,则必须手动配置该拦截器的引用。只有当Action中没有显示指定拦截器时,该Action所在包的默认拦截器才会而对该Action生效。
2.覆盖拦截器栈中某个拦截器的属性的方法:
<interceptor-ref name="my-stack">
    <param name="second.name">修改后的拦截器</param>
</interceptor-ref>
second为此拦截器栈中某一个拦截器的名字,即<拦截器名>.<参数名>
3.struts2内置拦截器:
chain:构建以个Action链,使当前Action可以访问前一个Action的属性,一般和<result type="chain".../>一起使用
execAndWait:后台执行Action,负责将等待画面发送该用户
model-driven:这是一个用于模型驱动的拦截器,当某个Action类实现了ModelDriver接口时,它负责把getModel()方法的结果堆入ValueStack中。
static-params:这个拦截器负责将xml中<action>标签下<param>标签中的参数传入action
token:这个拦截器主要用于组织重复提交,它检查传到Action中的token,从而防止多次提交
validation:通过执行在xxxAction-validation.xml中定义的校验器,从而完成数据校验
workflow:这个拦截器负责调用Action类的validation方法,如果校验失败,则返回input的逻辑视图
4.如果是为了简化struts.xml文件的配置,避免在每个Action中重复配置拦截器,可以将该拦截器配置成一个默认拦截器栈(这个默认拦截器栈应该包括default-stack拦截器站和权限检查拦截器)
定义自己的默认拦截器栈的配置如下:
<interceptors>
    <interceptor name="authority" class="XXX.XXX"/>
    <interceptor-stack name="mydefault">
        <interceptor-ref name="default-stack"/>
        <interceptor-ref name="authority"/>
    </interceptor-stack>
</interceptors>
<defult-interceptor-ref name="mydefault"/>

posted on 2010-03-15 14:57 macoo 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/macooma/archive/2010/03/15/1686238.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值