所以 interceptor 是和 struts1 很大的不同處
struts2 中有預設的 interceptor
package struts-default
name defaultStack
當我們的 package extends struts-default 就繼承了 struts-default 中的所有設定!
ActionInvocation: 包裝所有與 Action 執行有關資訊的物件
在開發 interceptor 時,我們並不會直接的與 ActionInvocation 物件互動,而是間接的與 ActionInvocation 有關係!
當我們的 framework 接收到一個使用者的 request 時,Struts2 framework 會根據使用者呼叫的 URL 來 mapping 所對應的 Action,並將此 Action 的相關資訊加入到 ActionInvocation 物件中,接著 Struts2 framework 就會搜尋所有 configuration file 中的所有 interceptors 並且加到 ActionInvocation 中,幫助 ActionInvocation 走訪所有的 interceptors。
....... dojo\..* ........../WEB-INF/pages/finish.jsp
* Reference
- [Struts2] Introduce Interceptor
- [Struts2] 宣告與設定 Interceptors
- [Struts2] 深入探討 Interceptor
沒有留言:
張貼留言