struts2学习之基础笔记4

 拦截器spa

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

重写public String intercept (ActionInvocation arg0)对象

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

<package>get

<interceptors>io

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

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

</~~>方法

</~~>im

</~~>

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>

相关文章
相关标签/搜索