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>

相關文章
相關標籤/搜索