熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Jakarta Struts應用的七個經驗(5)

2013-11-23 20:39:38  來源: Java開源技術 

  使用動態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)formget(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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.