Struts學習筆記之Action
摘要: 下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的總結
1.DispatchAction extends BaseAction
一般的Action如
,在這里UserAction只需要繼承父類(extends Action類),然后重寫父類的execute方法,在execute中實現具體的控制轉向。
對于同一個formbean上進行的新增、修改、刪除等,我們需要分發不同的Action,這里有兩種做法。
閱讀全文
Struts學習筆記之ActionForm
摘要: ActionForm中比較常用的兩個方法是reset()和validator():
// 恢復ActionForm屬性的默認值,如把boolean型設為true/false,字符串設為null。
public void reset( ActionMapping mapping, HttpServletRequest request ) { }
// validate只檢查數據格式和語法,不檢查數據是否符合業務邏輯。
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request ) { return (null); }
這兩個方法的默認實現是不執行任何操作,我們可以重寫這兩個方法來實現相關邏輯。
注:對于每個request,控制器都會先調用ActionForm的reset()方法,然后表單數據組裝到ActionForm中。如ActionForm在request范圍內,那么對于每個新的request請求都會創建新的ActionForm實
閱讀全文
Struts源碼學習之ActionServlet(二)
摘要: ④ 調用initChain(); 讀取web.xml中命令鏈文件初始值chainConfig
protected String chainConfig = "org/apache/struts/chain/chain-config.xml";
//④initChain();
// 如沒有chainConfig參數,則使用默認"org/apache/struts/chain/chain-config.xml"
String value;
value = getServletConfig().getInitParameter("chainConfig");
if (value != null) {
chainConfig = value;
}
閱讀全文
Struts源碼學習之ActionServlet(一)
摘要: Struts源碼最新版本為struts-1.3.8-src.zip (12-Mar-2007 00:06)
學習筆記使用struts-1.3.5-src.zip 的源碼,
下載地址:http://archive.apache.org/dist/struts/source/
2. 下面研究一下struts的源碼,由于servlet設置了load-on-startup,所以tomcat啟動時會加載ActionServlet,也就是會執行ActionServlet中的init()方法,Struts 的初始化實現就是在這里實現的。
注:由于servlet的生命周期為 web容器加載和實例化類/init()初始化/service()請求處理/destroy()四個階段,而init()方法在tomcat啟動后只執行一次,所以如果想在tomcat啟動后用debug模式查看ActionServlet中init()方法的執行,可以把上面的
2注釋掉就可以了(不過真正開發時還是需要的)。
閱讀全文
Struts學習筆記之MVC模式
摘要: View:由JSP、Struts自定義標記庫、資源文件(MessageResources.properties)共同組成,通過ActionForm實現JSP表單的封裝,并映射到Model部分中JavaBean的相應屬性中,完成用戶數據的封裝。
注意:關于ActionForm,有些人認為它屬于Model層(仁者見仁,智者見智)。
事實上它不是Model,真正的Model應該是一個封裝了業務邏輯的的對象。
而ActionForm僅僅是一個form-bean,封裝了用戶提交的表單數據(物理View),可以在其中進行一些非業務邏輯的驗證,并沒有真正的映射到模型數據,因為與層的關系比較密切,所以實際上它應該算是View層(邏輯View)。
閱讀全文