如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2004年12月27日

Struts Tip : 使用DispatchAction來組織相關的作業

使用狀況
有時系統會有大量且小的actions, 最好是將這些actions同類的集中(Grouping)到同一個class內, 適用的狀況如下 :
Grouping的原則 :
1.當一些actions都與某個use case相關
2.當一些actions都與相同的session façade溝通
3.當一些actions都與某些domain objects相關, 如CRUD operations (Create, Read, Update and Delete), 例如online store’s add/edit/delete/listing of products
4.當一些actions都在相同的JSP pages操作

優點 :
1.大量減少所需維護classes的數量
2.由於這些actions有一些類似的作業, 可以建立helper methods, 提供這些actions共用, 因此可於這些actions封裝在同一個class內

程式設計步驟 :
1.建立action handler class (extends DispatchAction)
2.建立代表每一個action的method (標準的Action class只有一個execute(..)代表一種action)
Example code:<略>
3.在Struts-config.xml為此action handler建立action mapping, 用”parameter” 屬性指定JSP要傳來的參數名稱, 此參數則是儲存著將要呼叫的method name
Example code:<略>
4.在JSP中設定一個欄位記錄傳回的method name (用按鈕指定或選單選定)
Example code:<略>
5.撰寫ActionForm bean, 並在struts-config.xml中註冊

----------------------------------------------------------------
2004/12/27 by Fred Wang (fmwang.blogspot.com)

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)