天天看點

Struts2内建攔截器的簡要介紹

Struts2内建攔截器的簡要介紹

alias (别名攔截器):允許參數在跨越多個請求時使用不同别名,該攔截器可将多個Action采用不同名字連結起來,然後用于處理同一資訊。

autowiring (自動裝配攔截器):主要用于當Struts2和Spring整合時,Struts2可以使用自動裝配的方式來通路Spring容器中的Bean。

chain (鍊攔截器):建構一個Action鍊,使目前Action可以通路前一個Action的屬性,一般和<result type="chain" .../>一起使用。

checkbox (多選框攔截器):将沒有選中的checkbox項設定為false,協助管理多選框。在HTTP請求裡,那些沒有被選中的項通常沒有任何值。

conversionError (轉換器錯誤攔截器):這是一個負責處理類型轉換錯誤的攔截器,它負責将類型轉換錯誤從ActionContext 中取出,并轉換成Action的FieldError錯誤。

createSession (建立Session攔截器):該攔截器負責建立一個HttpSession對象,主要用于那些需要有HttpSession對象才能正常工作的攔截器中。

clearSession (清除Session攔截器):負責銷毀HttpSession對象.

debugging (調試攔截器):當使用Struts2的開發模式時,這個攔截器會提供更多的調試資訊。

execAndWait (執行和等待攔截器):背景執行Action時,給使用者顯示一個過渡性的等待頁面。

externalRef (擴充攔截器):負責擴充引用

exception (異常攔截器):将Action抛出的異常映射到結果,這樣就通過重定向自動處理異常。

fileUpload (檔案上傳攔截器):這個攔截器主要用于檔案上傳,它負責解析表單中檔案域的内容。

i18n (國際化攔截器):主要負責把使用者所選的語言、區域放入使用者Session中。

logger (日志攔截器):主要是輸出Action的名字,提供簡單的日志輸出。

modelDriven (模型驅動攔截器):這是一個用于模型驅動的攔截器,當某個Action類實作了ModelDriven接口時,它負責把getModel ()方法的結果堆入ValueStack中。

scopedModelDriven (作用域模型驅動攔截器):如果一個Action實作了一個ScopedModelDriven接口,該攔截器負責從指定生存範圍中找出指定的Model,并将通過setModel方法将該Model傳給Action執行個體。

params (參數過濾攔截器):這是一個最基本的攔截器,它負責解析HTTP請求中的參數,并将參數值設定成Action對應的屬性值。

prepare (預備攔截器):如果action實作了Preparable接口,将會調用該攔截器的prepare()方法。

staticParams (靜态參數攔截器):這個攔截器負責将xml中<action>标簽下<param>标簽中的參數傳入action。

scope (作用域攔截器):這是範圍轉換攔截器,它可以将Action狀态資訊儲存到HttpSession範圍,或者儲存到ServletContext 範圍内。

servletConfig (Servlet配置攔截器):如果某個Action需要直接通路Servlet API,就是通過這個攔截器實作的,它提供通路HttpServletRequest和HttpServletResponse的方法,以map方式通路。

roles (角色攔截器):這是一個JAAS(Java Authentication and Authorization Service,Java授權和認證服務)攔截器,隻有當浏覽者取得合适的授權後,才可以調用被該攔截器攔截的Action。

timer (計時攔截器):這個攔截器負責輸出Action的執行時間,在分析該Action的性能瓶頸時比較有用。

token (令牌攔截器):這個攔截器主要用于阻止重複送出,它檢查傳到Action中的token,進而防止多次送出。

tokenSession (令牌會話攔截器):這個攔截器的作用與前一個基本類似,隻是它把非法送出的資料儲存在HttpSession中,不跳轉到錯誤頁面,再次生成與第一次相同的響應頁面

validation (驗證攔截器):通過執行在xxxAction-validation.xml中定義的校驗器,進而完成資料校驗。

workflow (工作流攔截器):這個攔截器負責調用Action類中的validate方法,如果校驗失敗,則不執行業務方法,而是傳回input的邏輯視圖。

jsonValidation (json攔截器):驗證失敗時,可以将fieldError和actionErrors資訊序列化成json,傳回給用戶端

profiling (概要攔截器):允許Action記錄簡單的概要資訊。

actionMappingParams (Action映射攔截器):Parameters set by the action mapping are not set/not available through ParameterAware 

annotationWorkflow (注解工作流攔截器):利用注解替代XML配置,使用annotationWorkflow攔截器可以使用@After、@Before、@BeforeResult等注解,執行流程為before-execute-beforeResult-after順序

store (消息存儲攔截器):在會話中為Action存儲和檢索消息、字段錯誤以及Action錯誤,該攔截器要求Action實作ValidationAware接口。