使用Struts2進(jìn)行Web開發(fā)的時(shí)候,完成每個(gè)功能需要做的工作主要有:
第一:在Service中編寫具體實(shí)現(xiàn)功能的方法,或者在某個(gè)已有的Service添加方法,或者編寫一個(gè)新的Service再添加方法。
第二:編寫Action,或者在某個(gè)已經(jīng)存在的Action中添加方法。如果需要傳值,定義成員變量并且定義set或者get方法。
第三:在struts.xml中配置這個(gè)Action。包括兩個(gè)方面請求到Action方法的對應(yīng)關(guān)系,Action執(zhí)行結(jié)果與響應(yīng)界面的對應(yīng)關(guān)系,有時(shí)候會定義攔截器。
第四:編寫界面,請求中使用定義的action。
例如編寫登錄功能:
在界面使用login
在配置文件中配置login-->類action.UserAction的login方法
在Action中編寫login方法,編寫userid和password屬性,提供set方法
在Service中...
例如編寫注冊功能:
在界面中發(fā)送球:register
在配置文件中配置register-->類action.UserAction的register方法
在Action中編寫register方法,編寫注冊相關(guān)屬性,提供set方法
在Service中...
可能這是一種習(xí)慣,請求采用名字a,配置的時(shí)候會用method="a",action就會提供a方法。既然這是一種習(xí)慣,為什么不可以把這種習(xí)慣作為系統(tǒng)的一種控制器的選擇方案呢。Java EE5中大量的使用默認(rèn)置,這里也可以采用這種思想。
下面是我的建議:
如果用戶喜歡,可以不用配置struts.xml,直接在請求界面使用action.UserAction.login。action指出包名,UserAction支持類名,login指出方法名,如果包名太長,可以在配置文件中給包名定義一個(gè)別名。
關(guān)于action方法的返回值,原來返回的是字符串,現(xiàn)在可以返回表示邏輯名字的字符串,還可以返回具體的頁面文件或者action,如果需要攔截器可以通過Java5提供的注釋。
僅僅是想法,如果有不妥,請指正。
李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher CSDN學(xué)生大本營:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答?。?點(diǎn)擊進(jìn)入論壇