使用動態ActionForm
在Struts framework中
ActionForm對象用來包裝HTML表格數據(包括請求)
並返回返回動態顯示給用戶的數據
它們必須是完全的JavaBean
並繼承
Struts 裡面的ActionForm類
同時
用戶可以有選擇地覆蓋兩個缺省方法
該特性能節省很多時間
因為它可以協助進行自動的表現層的驗證
ActionForm的唯一缺點是必須為不同的HTML表格生成多個ActionForm 類以保存數據
例如
如果有一個頁面含有用戶的注冊信息
另一個頁面則含有用戶的介紹人的信息
那麼就需要有兩個不同的ActionForm類
這在大的應用系統中就會導致過多的ActionForm類
Struts
對此做出了很好的改進
引入了動態ActionForm類概念
通過Struts framework中的DynaActionForm類及其子類可以實現動態的ActionForm
動態的ActionForm允許你通過Struts的配置文件完成ActionForm的全部配置
再也沒有必要在應用程序中創建具體的ActionForm類
具體配置方法是
在Struts的配置文件通過增加一個元素
將type屬性設定成DynaActionForm或它的某個子類的全名
下面的例子創建了一個動態的ActionForm名為logonForm
它包含兩個實例變量
username 和 password
動態的ActionForm可以用於Action類和JSP
使用方法跟普通的ActionForm相同
只有一個小差別
如果使用普通的ActionForm對象則需要提供get 和 set方法取得和設置數據
以上面的例子而言
我們需要提供getUsername() 和 setUsername()方法取得和設置username變量
同樣地有一對方法用於取得和設置password變量
這裡我們使用的是DynaActionForm
它將變量保存在一個Map類對象中
所以必須使用DynaActionForm 類中的get(name) 和 set(name)方法
其中參數name是要訪問的實例變量名
例如要訪問DynaActionForm中username的值
可以采用類似的代碼
String username = (String)form
get(
username
);
由於值存放在一個Map對象
所以要記得對get()方法返回的Object對象做強制性類型轉換
DynaActionForm有好幾個很有用的子類
其中最重要的是DynaValidatorForm
這個動態的ActionForm和Validator 一起利用公共的Validator包來提供自動驗證
這個特性使你得以在程序代碼之外指定驗證規則
將兩個特性結合使用對開發人員來說將非常有吸引力
使用可視化工具
自從Struts
分布以來
就出現了不少可視化工具用於協助創建
修改和維護Struts的配置文件
配置文件本身是基於XML格式
在大中型的開發應用中會增大變得很笨拙
為了更方便的管理這些文件
一旦文件大到你無法一目了然的時候
建議試著采用其中的一種GUI 工具協助開發
商業性的和開放源代碼的工具都有不少
表
列出了可用的工具和其相關鏈接
從那裡可以獲取更多信息
附
Struts GUI 工具
應用程序 性質 網址
Adalon 商業軟件
Easy Struts 開放源碼
Struts Console 免費
JForms 商業軟件
Camino 商業軟件
Struts Builder 開放源碼
StrutsGUI 免費
uk/struts/l
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28848.html