• struts2学习之基础笔记4


     拦截器

    1.自定义拦截器类,必须继承AbstractInterceptor类(抽象类)

    重写public String intercept (ActionInvocation arg0)

    2.在Struts.xml文件中创建拦截器对象,格式: 

    <package>

    <interceptors>

    <interceptor name=拦截器名 class=拦截器类全名>

    [<param name=成员变量名 >值</~~>]

    </~~>

    </~~>

    </~~>

    3.为Action注册拦截器 格式:

    <action>

    <interceptor-ref name=拦截器名>

    [<param name=成员变量>]       作用: 成员变量赋值

    </~~>

    </~~>

    注意事项 1 当引入自定义拦截器时会导致默认拦截器失效,此时需重新引入默认拦截器栈

    格式:<inyrtceptor-ref name=defaultStack>

     2 拦截器的注册顺序即为拦截器的执行时顺序。

     3 在拦截器中参数arg0可获得 

    Action Context ac = arg.getInvocationContext();

    Map Sesstion = ac.getSession();

    拦截器栈的使用

    步骤 

    1新建拦截器栈  格式 

    <interceptors>

    <interceptor />

    <interceptor-stack name=栈名>

    < interceptor-ref name=拦截器名/>

    < /interceptor-stack>

    < /interceptor >

    2 注册拦截器栈  格式

    <action >

    < interceptor-ref name=栈名/>

    </action>

    过滤性拦截

      a.新建拦截器类 继承AbstractInterceptor类   重写doInterceptor(方法)

      b.新建或注册拦截器时

    格式:

    <interceptor interceptor-ref>

    <param name=excludeMethods>不进行拦截的Action方法名[名]

    </param>

    <param name=includeMethods>excute,abc,aa,cc,bb</param>

    </interceptor interceptor-ref>

  • 相关阅读:
    坐标系的冷知识2
    坐标系的冷知识
    XMPP即时通讯(代码实现)
    约束问题
    实现ios屏幕的横竖屏自适应
    3D Touch ? 木有6s,也阔以玩!!!
    Autolayout
    Xcode7免证书真机调试
    微信支付
    二维码扫描
  • 原文地址:https://www.cnblogs.com/ai-xin-hong-yu/p/4234236.html
Copyright © 2020-2023  润新知