1. 攔截器的配置:
a) 編寫實現Interceptor接口的攔截器類
b) 在struts.xml文件中定義攔截器
例:<interceptors>
<interceptorname="interceptor1"class="com.ebuair.interceptor.Interceptor1"></interceptor>
<interceptorname="interceptor2"class="com.ebuair.interceptor.Interceptor2"></interceptor>
</interceptors>
c) 在action中使用攔截器
例:<interceptor-refname="interceptor1">
<paramname="parameter">hello,this is ebuair</param>
</interceptor-ref>
<interceptor-refname="interceptor2"></interceptor-ref>
<interceptor-refname="defaultStack"></interceptor-ref>
d) 注意:一旦定義了自己的攔截器,將其配置到Action上後,我們需在Action的最後加上默認的攔截器棧:defaultStack。
e) 定義攔截器可以繼承AbstractInterceptor抽象類(該類實現了Interceptor接口,並對init和destory方法進行了空實現),然後實現其抽象方法intercept即可。
f) 方法過濾攔截器(可以對指定方法進行攔截的攔截器)。
如果在使用方法過濾攔截器時沒有指定includeMethos和excludeMethods參數,那麼所有方法都會被攔截,也就是說所有方法都被認爲是includeMethos的。
如果僅僅指定了includeMethos,那麼只會攔截includeMethos中定義的方法,沒有包含在includeMethos中的方法就不會被攔截。