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

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

2013-11-23 20:42:49  來源: Java開源技術 

   使用 Prebuilt Action類提升開發效率
  
  Struts framework帶有好幾個prebuilt Action類使用它們可以大大節省開發時間其中最有用的是orgapachestrutsactionsForwardAction 和 orgapachestrutsactionsDispatchAction
  
  使用 ForwardAction
  
  在應用程序中可能會經常出現只要將Action對象轉發到某個JSP的情況在上一點中曾提到總是由Action調用JSP是個好習慣如果我們不必在Action中執行任何業務邏輯卻又想遵循從Action訪問頁面的話就可以使用ForwardAction它可以使你免去創建許多空的Action類運用ForwardAction的好處是不必創建自己的Action類你需要做的僅僅是在Struts配置文件中配置一個Action mapping
  
  舉個例子假定你有一個JSP文件indexjsp 而且不能直接調用該頁面必須讓程序通過一個Action類調用那麼你可以建立以下的Action mapping來實現這一點
  
   
  
  正如你看到的當 /home 被調用時 就會調用ForwardAction 並把請求轉發到 indexjsp 頁面
  再討論一下不通過一個Action類直接轉發到某個頁面的情況必須注意我們仍然使用元素中的forward屬性來實現轉發的目標這時元素定義如下
  
   
  
  
  
  
  
  以上兩種方法都可以節省你的時間並有助於減少一個應用所需的文件數
  
  使用 DispatchAction
  
  DispatchAction是Struts包含的另一個能大量節省開發時間的Action類與其它Action類僅提供單個execute()方法實現單個業務不同DispatchAction允許你在單個Action類中編寫多個與業務相關的方法這樣可以減少Action類的數量並且把相關的業務方法集合在一起使得維護起來更容易
  
  要使用DispatchAction的功能需要自己創建一個類通過繼承抽象的DispatchAction得到對每個要提供的業務方法必須有特定的方法signature例如我們想要提供一個方法來實現對購物車添加商品清單創建了一個類ShoppingCartDispatchAction提供以下的方法
  
  
  
  那麼這個類很可能還需要一個deleteItem()方法從客戶的購物車中刪除商品清單還有clearCart()方法清除購物車等等這時我們就可以把這些方法集合在單個Action類不用為每個方法都提供一個Action類
  
  在調用ShoppingCartDispatchAction裡的某個方法時只需在URL中提供方法名作為參數值就是說調用addItem()方法的 URL看起來可能類似於
  
 //myhost/storefront/action/cart?method=addItem
  
  其中method參數指定ShoppingCartDispatchAction中要調用的方法參數的名稱可以任意配置這裡使用的method只是一個例子參數的名稱可以在Struts配置文件中自行設定

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28942.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.