深入struts2.0(六)--ActionProxy類
1.1 ActionProxy介面以及實現
ActionProxy在struts框架中發揮著很關鍵的資料。
通過webwork和xwork互動關係圖能夠看出。它是action和xwork中間的一層。
正由於ActionProxy的存在導致Action呼叫更加簡潔。接下來我們一起研究下這個核心類。
1.1.1 ActionProxy介面方法
圖 3.3.1 ActionProxy介面主要方法圖
ActionConfig getConfig();該方法主要是獲得建立ActionProxy類的action配置資訊。getExecuteResult()方法就是推斷執行後action後是否執行result. getInvocation()獲得與ActionProxy相關聯的ActionInvocation.
1.1.2 ActionProxy介面實現類
圖 3.3.2 ActionProxy介面實現類圖
依據命名就知道defaultActionProxy是預設的actionProxy代理。 對於MockActionProxy這個類筆者也不太明確,這個類在struts程式碼中也沒實用。在API中也沒有說明。依據字面意思,就是對ActionProxy一個簡單實現。
1.1.3 DefaultActionProxy實現類
在dispatcher類中我們能夠看到例如以下程式碼:
|
表示將由ActionProxy代理類來執行action,全部action的主要執行方法就是actionProxy中的execute.
|
圖 3.3.3 ActionProxy介面execute方法
首先把InvocationContext設定到ActionContext上下文中。
然後呼叫InvocationContext中的invoke方法執行。