Struts2初識(三) ---> interceptors

     Interceptors 提供了對Action進行預處理和事後處理的功能.  和 Servlet 過濾器一樣, 攔截器可以被分層和排序.

它還可以訪問所執行的Action和所有的環境變量與執行屬性。

 

        如果要在Action中激活依賴注入功能(或其他任何由攔截器提供的功能),就必須要對Action進行配置。和其他元素一樣,許多攔截器都已經提供了默認的配置項。你只需要確認一下Action所在的Package繼承了“struts-default”package。

 

      在配置一個新的攔截器之前,首先要對它進行定義。<interceptors … />和<interceptor … />標籤都要直接放到<package>標籤裏面。像我們上面提到的那些攔截器,它們的配置項就是這樣的:
<interceptors>

<interceptor name="autowiring"
class="…xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
</interceptors>
我們同時還要確保Action中應用了所需的攔截器。這可以通過兩種方式來實現。第一種是把攔截器獨立的分配給每一個Action:
<action name="my" class="com.fdar.infoq.MyAction" >
<result>view.jsp</result>
<interceptor-ref name="autowiring"/>
</action>
在這種情況下,Action所應用的攔截器是沒有數量限制的。但是攔截器的配置順序必須要和執行的順序一樣。
第二種方式是在當前的Package下面配置一個默認的攔截器:
<default-interceptor-ref name="autowiring"/>
這個聲明也是直接放在<package … /> 標籤裏面,但是隻能有一個攔截器被配置爲默認值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章