<interceptor name="alias" class="com.opensymphony.xwork.interceptor.AliasInterceptor"/>
<!--不同的request的相似參數別名轉化-->
<interceptor name="autowiring" class="com.opensymphony.xwork.spring.interceptor.ActionAutowiringInterceptor"/>
<!--自動裝配 就是無需顯式的指定bean的合作者,由framework根據setter方法去找到相應的bean,并完成設置工作。-->
<interceptor name="chain" class="com.opensymphony.xwork.interceptor.ChainingInterceptor"/>
<!--將前一個執行結束的Action屬性設置到當前的Action中。它被用在ResultType為“chain”指定結果的Action中,該結果Action對象會從OgnlValueStack中獲得前一個Action對應的屬性,它實現Action鏈之間的數據傳遞;-->
<interceptor name="component" class="com.opensymphony.xwork.interceptor.component.ComponentInterceptor"/>
<!--激活組件功能支持,讓注冊過的組件在當前Action中可用,即為Action提供IoC
【全文】
<interceptor name="alias" class="com.opensymphony.xwork.interceptor.AliasInterceptor"/>
<!--不同的request的相似參數別名轉化-->
<interceptor name="autowiring" class="com.opensymphony.xwork.spring.interceptor.ActionAutowiringInterceptor"/>
<!--自動裝配 就是無需顯式的指定bean的合作者,由framework根據setter方法去找到相應的bean,并完成設置工作。-->
<interceptor name="chain" class="com.opensymphony.xwork.interceptor.ChainingInterceptor"/>
<!--將前一個執行結束的Action屬性設置到當前的Action中。它被用在ResultType為“chain”指定結果的Action中,該結果Action對象會從OgnlValueStack中獲得前一個Action對應的屬性,它實現Action鏈之間的數據傳遞;-->
<interceptor name="component" class="com.opensymphony.xwork.interceptor.component.ComponentInterceptor"/>
<!--激活組件功能支持,讓注冊過的組件在當前Action中可用,即為Action提供IoC(依賴倒轉控制)框架的支持;-->
<interceptor name="conversionError" class="com.opensymphony.webwork.interceptor.WebWorkConversionErrorInterceptor"/>
<!--用來處理框架進行類型轉化(Type Conversion)時的出錯信息。它將存儲在ActionContext中的類型轉化(Type Conversion)錯誤信息轉化成相應的Action字段的錯誤信息,保存在堆棧中。根據需要,可以將這些錯誤信息在視圖中顯示出來。-->
<interceptor name="createSession" class="com.opensymphony.webwork.interceptor.CreateSessionInterceptor" />
<!--自動創建一個httpsession對象,對于某些需要有httpsession對象才能正常工作的攔截器有用-->
<interceptor name="external-ref" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/>
<!--標記指定外部引用;name屬性值要與Action類中的屬性名一致 -->
<interceptor name="execAndWait" class="com.opensymphony.webwork.interceptor.ExecuteAndWaitInterceptor"/>
<!--后臺執行action,發送給用戶等待畫面-->
<interceptor name="exception" class="com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor"/>
<!--提供了異常處理的主要核心功能,異常處理允許你把一個異常映射到一個結果碼-->
<interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/>
<!--支持文件上傳的攔截器,
參數 [file name]是被html表單中上傳得文件的名字
maximumsize這個市允許上傳到action中的文件最大長度(以byte為單位,注意這個參數和在webwork.properties中定義的屬性沒有關系,默認2mb)
allowedtype 以逗號分割的contenttype類型列表(例如text/html),這些列表示這個攔截器允許的可以上傳到action中contenttype。如果沒有指定 就是允許任何上傳類型
<action name="doUpload" class="com.examples.UploadAction">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="basicstack"/>
</action>
-->
<interceptor name="i18n" class="com.opensymphony.xwork.interceptor.I18nInterceptor"/>
<!--把所選的地域放入session中
負責把session中指定的區域設置為當前請求的區域設置,并且這個攔截器還會根據請求中的參數來改變區域設置。
這就說你可以用來動態的改變用戶session中區域設置。這對于實現多語言支持并允許用戶在任何時候更改語言很有用。
-->
<interceptor name="logger" class="com.opensymphony.xwork.interceptor.LoggingInterceptor"/>
<!--在日志信息中輸出要執行的Action信息-->
<interceptor name="model-driven" class="com.opensymphony.xwork.interceptor.ModelDrivenInterceptor"/>
<!--如果Action實現ModelDriven接口,它將getModel()取得的模型對象存入OgnlValueStack中-->
<interceptor name="params" class="com.opensymphony.xwork.interceptor.ParametersInterceptor"/>
<!--將Request請求的參數設置到相應Action對象的屬性中,用戶注冊例子用到過這個攔截器-->
<interceptor name="prepare" class="com.opensymphony.xwork.interceptor.PrepareInterceptor"/>
<!--在Action執行之前調用Action的prepare()方法,這個方法是用來準備Action執行之前要做的工作。它要求我們的Action必需實現com.opensymphony.xwork. Preparable接口
當你需要在action中的方法執行之前執行一些邏輯。
<!-- Calls the params interceptor twice, allowing you to pre-load data for the second time
parameters are set -->
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="params"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="basicStack"/>
<result name="success">good_result.ftl</result>
</action>
-->
<interceptor name="static-params" class="com.opensymphony.xwork.interceptor.StaticParametersInterceptor"/>
<!--將xwork.xml配置文件里定義的Action參數,設置到對應的Action中。Action參數使用<param />標簽,是<action />標簽的直接子元素。我們這里定義的Action類必需實現com.opensymphony.xwork.config.entities. Parameterizable接口-->
<interceptor name="scope" class="com.opensymphony.webwork.interceptor.ScopeInterceptor"/>
<!--為了實現在webwork中實現類似向導的功能而設計的,其中的問題是,一些應用程序有些在application范圍內的公用參數,例如pagelen(每個頁面的記錄數)。有了這個攔截器就不用讓每個action都檢查這樣的參數是否存在,而是讓這個攔截器去檢查并把這些參數從session中取出
參數:
session 一個限制在session范圍內的action屬性列表
application一個限制在application范圍內的屬性列表
key 一個session/application 屬性的主鍵前綴
class 根據action的名稱空間和類來創建一個不重復的前綴,這是默認值
action根據action的名稱空間和action的名稱創建一個不重復的前綴
任意一個字符串作為主鍵前綴
type 下列支之一
start 表示這是一個向導的開始action。所有session范圍內的屬性將被重設為默認值
end 表示在這個action執行以后,session范圍內的屬性將會從session中清除
any 其他值或者沒有值意思這時可一個中間action。
<!-- ##filter#orderBy###########action#######,
#############scope###. #session#############Session##########.
######Application######-->
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="basicStack"/>
<interceptor-ref name="hibernate"/>
<interceptor-ref name="scope">
<param name="session">filter,orderBy</param>
<param name="autoCreateSession">true</param>
</interceptor-ref>
-->
<interceptor name="servlet-config" class="com.opensymphony.webwork.interceptor.ServletConfigInterceptor"/>
<!--
提供Action直接對HttpServletRequest或HttpServletResponse等JavaServlet api的訪問,Action要實現相應的接口,例如:ServletRequestAware或ServletResponseAware等。如果必需要提供對JavaServlet api的訪問,我們建議使用ServletActionContext,在前面ActionContext章節中有介紹。
-->
<interceptor name="sessionAutowiring" class="com.opensymphony.webwork.spring.interceptor.SessionContextAutowiringInterceptor"/>
<interceptor name="timer" class="com.opensymphony.xwork.interceptor.TimerInterceptor"/>
<!--記錄Action執行的時間,并做為日志信息輸出-->
<interceptor name="token" class="com.opensymphony.webwork.interceptor.TokenInterceptor"/>
<!--核對當前Action請求(request)的有效標識,防止重復提交Action請求(request)。-->
<interceptor name="token-session" class="com.opensymphony.webwork.interceptor.TokenSessionStoreInterceptor"/>
<!--功能同上,但是當提交無效的Action請求標識時,它會將請求數據保存到session中。-->
<interceptor name="validation" class="com.opensymphony.xwork.validator.ValidationInterceptor"/>
<!--實現使用xml配置文件({Action}-validation.xml)對Action屬性值進行驗證,詳細請看后面介紹的驗證框架。-->
<interceptor name="workflow" class="com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor"/>
<!--調用Action類的驗證功能,假設Action使用ValidationAware實現驗證(ActionSupport提供此功能),如果驗證沒有通過,workflow會將請求返回到input視圖(Action的<result />中定義的)。-->