?
今天研究了一下JpetStore源代碼 ,發(fā)現(xiàn)它的開發(fā)strust模式和我們以往開發(fā)的模式完全不同,所有的strust類都繼承org.apache.struts.beanaction.BaseBean
仔細研究BeanAction類,發(fā)現(xiàn)它其實是一個通用類,利用反射原理,根據(jù)URL來決定調用formbean的哪個方法!
一個簡單的例子






















































strust-config.xml配置文件


















說明|:
Struts-config.xml的配置里有3種映射方式,來告訴BeanAction把控制轉到哪個form bean對象的哪個方法來處理。
<action name="testBean" path="/test/saveUser" type="org.apache.struts.beanaction.BeanAction">
????? <forward name="success" path="/success.html" />
??? </action>
此種方式表示,控制將被轉發(fā)到"testBean"這個form bean對象 的"savaUser"方法(行為)來處理。方法名取"path"參數(shù)的以"/"分隔的最后一部分。
parameter="*"
此種方式表示,form bean上沒有任何方法被調用。如果存在"name"屬性,則struts把表單參數(shù)等數(shù)據(jù)填充到form bean對象后,把控制轉發(fā)到"success"。否則,如果name為空,則直接轉發(fā)控制到"success"。這就相當于struts內置的org.apache.struts.actions.ForwardAction的功能
前臺調用











參考
http://blog.csdn.net/yanwp/archive/2006/01/13/578379.aspx