国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

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

2019-11-18 15:56:24
字體:
供稿:網(wǎng)友

  5. 使用 PRebuilt Action類提升開發(fā)效率
  
  Struts framework帶有好幾個prebuilt Action類,使用它們可以大大節(jié)省開發(fā)時間。其中最有用的是org.apache.struts.actions.ForwardAction 和 org.apache.struts.actions.DispatchAction.
  
  使用 ForwardAction
  
  在應用程序中,可能會經(jīng)常出現(xiàn)只要將Action對象轉(zhuǎn)發(fā)到某個jsp的情況。在上一點中曾提到總是由Action調(diào)用JSP是個好習慣。假如我們不必在Action中執(zhí)行任何業(yè)務邏輯,卻又想遵循從Action訪問頁面的話,就可以使用ForwardAction,它可以使你免去創(chuàng)建許多空的Action類。運用ForwardAction的好處是不必創(chuàng)建自己的Action類,你需要做的僅僅是在Struts配置文件中配置一個Action mapping。
  
  舉個例子,假定你有一個JSP文件index.jsp ,而且不能直接調(diào)用該頁面,必須讓程序通過一個Action類調(diào)用,那么,你可以建立以下的Action mapping來實現(xiàn)這一點:
  
   Jakarta Struts應用的七個經(jīng)驗(4)(圖一)
  
  正如你看到的,當 /home 被調(diào)用時, 就會調(diào)用ForwardAction 并把請求轉(zhuǎn)發(fā)到 index.jsp 頁面.
  再討論一下不通過一個Action類直接轉(zhuǎn)發(fā)到某個頁面的情況,必須注重我們?nèi)匀皇褂迷刂械膄orward屬性來實現(xiàn)轉(zhuǎn)發(fā)的目標。這時元素定義如下:
  
   Jakarta Struts應用的七個經(jīng)驗(4)(圖二)
  
  
  
  
  
  以上兩種方法都可以節(jié)省你的時間,并有助于減少一個應用所需的文件數(shù)。
  
  使用 DispatchAction
  
  DispatchAction是Struts包含的另一個能大量節(jié)省開發(fā)時間的Action類。與其它Action類僅提供單個execute()方法實現(xiàn)單個業(yè)務不同,DispatchAction答應你在單個Action類中編寫多個與業(yè)務相關(guān)的方法。這樣可以減少Action類的數(shù)量,并且把相關(guān)的業(yè)務方法集合在一起使得維護起來更輕易。
  
  要使用DispatchAction的功能,需要自己創(chuàng)建一個類,通過繼續(xù)抽象的DispatchAction得到。對每個要提供的業(yè)務方法必須有特定的方法signature。例如,我們想要提供一個方法來實現(xiàn)對購物車添加商品清單,創(chuàng)建了一個類ShoppingCartDispatchAction提供以下的方法:
  
  Jakarta Struts應用的七個經(jīng)驗(4)(圖三)
  
  那么,這個類很可能還需要一個deleteItem()方法從客戶的購物車中刪除商品清單,還有clearCart()方法清除購物車等等。這時我們就可以把這些方法集合在單個Action類,不用為每個方法都提供一個Action類。
  
  在調(diào)用ShoppingCartDispatchAction里的某個方法時,只需在URL中提供方法名作為參數(shù)值。就是說,調(diào)用addItem()方法的 URL看起來可能類似于:
  
  http://myhost/storefront/action/cart?method=addItem
  
  其中method參數(shù)指定ShoppingCartDispatchAction中要調(diào)用的方法。參數(shù)的名稱可以任意配置,這里使用的"method"只是一個例子。參數(shù)的名稱可以在Struts配置文件中自行設(shè)定。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武定县| 大石桥市| 烟台市| 斗六市| 辽阳县| 扶余县| 湄潭县| 滨海县| 彭山县| 凤翔县| 大余县| 定日县| 民丰县| 武乡县| 龙井市| 恩施市| 封丘县| 谷城县| 嵩明县| 衡阳县| 嘉善县| 通州区| 吴川市| 绥中县| 会东县| 洞头县| 汝州市| 贵南县| 孙吴县| 凭祥市| 宕昌县| 大宁县| 中阳县| 锦屏县| 子长县| 昭苏县| 汶上县| 福海县| 昌图县| 昌图县| 佛教|