不少時候,咱們會自定義一個攔截器來替換struts2默認的攔截器,這時,咱們須要注意一些事項。 cookie
百度一下,咱們找到了默認攔截器的說明,以下: session
攔截器/Interceptor | 名字 | 說明 |
Alias | alias | 在不一樣的請求之間將請求的參數在不一樣的名稱之間轉換,請求的內容不變 |
Chaining | chain | 讓前一個Action的屬性能夠變被後一個Action訪問,如今和chain類型的result()結合使用 |
Checkbox | checkbox | 添加了checkbox自動處理代碼,將沒有選中的checkbox的內容設定爲false,而HTML默認狀況下不提交沒有選中的checkbox |
Cookies | cookies | 使用配置的name ,value來指定cookies |
Conversion Error | conversionError | 將錯誤從ActionContext中添加到Action屬性字段中 |
Create Session | createSession | 自動的建立HttpSession,用來爲須要使用HttpSession的攔截器服務 |
Debugging | debugging | 提供不一樣的調試用的頁面來展示內部的數據狀況 |
Execute and Wait | execAndWait | 在後臺執行Action,同時將用戶帶到一箇中間的等待頁面 |
Exception | exception | 將異常定位到一個畫面 |
File Upload | fileUpload | 提供文件上傳功能 |
I18n | i18n | 記錄用戶選擇的locale |
Logger | logger | 輸出Action的名字 |
Message Store | store | 存儲或者訪問實現ValidationAware接口的Action類出現的消息、錯誤、字段錯誤等 |
Model Driven | model-driven | 若是一個類實現了ModelDriven,將getModel獲得的結果放到Value Stack中 |
Scoped Model Driven | scoped-model-driven | 若是一個Action實現了Scoped Model Driven,這這個攔截器會從相應的scope中取出model調用Action中的setModel方法,將其放入Action內部 |
Parameters | params | 將請求的參數設置到Action中 |
Prepare | prepare | 若是Action實現了Preparable,則該攔截器會調用Action類的prepare方法 |
Scope | scope | 將Action狀態存入session和application中的簡單方法 |
Servlet Config | servletconfig | 提供訪問HttpServletRequest和HttpServletResponse的方法,以Map的方式訪問 |
Static Parameters | staticParams | 從struts.xml文件中將中的內容設置到對應的Action中 |
Roles | roles | 肯定用戶是否具備JAAS指定的Role,不然不予執行 |
Timer | timer | 輸出Action執行的時間 |
Token | token | 經過Token來避免雙擊 |
Token Session | tokenSession | 和Token同樣,不過雙擊的時候將數據放到了session中 |
Validation | validation | 使用action-validation.xml文件中定義的內容校驗提交的數據 |
Workflow | workflow | 調用Action的validate方法,一旦有錯誤返回,從新定位到INPUT頁面 |
Parameter Filter | N/A | 從參數列表中刪除沒必要要的參數 |
Profiling | profiling | 經過參數激活profile |
其中,有一個名爲params的攔截器,它的做用是「將請求的參數設置到Action中」,也就是說,若是你從頁面中傳值到Action,即攔截請求參數,並賦值給action裏的屬性,並且你自定義的攔截器要用到這些值棧中的值,則你的攔截器棧中,須要在自定義攔截器前面加上默認的攔截器,以下: app
<interceptor-ref name="params"/> <interceptor-ref name="myInterceptor"/>