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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Jakarta Struts應(yīng)用的七個(gè)經(jīng)驗(yàn)(5)

2019-11-18 15:56:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  6.使用動(dòng)態(tài)ActionForm
  
  在Struts framework中,ActionForm對(duì)象用來(lái)包裝Html表格數(shù)據(jù)(包括請(qǐng)求),并返回返回動(dòng)態(tài)顯示給用戶的數(shù)據(jù)。它們必須是完全的javaBean,并繼續(xù).Struts 里面的ActionForm類(lèi),同時(shí),用戶可以有選擇地覆蓋兩個(gè)缺省方法。
  
  該特性能節(jié)省很多時(shí)間,因?yàn)樗梢詤f(xié)助進(jìn)行自動(dòng)的表現(xiàn)層的驗(yàn)證。ActionForm的唯一缺點(diǎn)是必須為不同的HTML表格生成多個(gè)ActionForm 類(lèi)以保存數(shù)據(jù)。例如,假如有一個(gè)頁(yè)面含有用戶的注冊(cè)信息,另一個(gè)頁(yè)面則含有用戶的介紹人的信息,那么就需要有兩個(gè)不同的ActionForm類(lèi)。這在大的應(yīng)用系統(tǒng)中就會(huì)導(dǎo)致過(guò)多的ActionForm類(lèi)。Struts 1.1對(duì)此做出了很好的改進(jìn),引入了動(dòng)態(tài)ActionForm類(lèi)概念
  
  通過(guò)Struts framework中的DynaActionForm類(lèi)及其子類(lèi)可以實(shí)現(xiàn)動(dòng)態(tài)的ActionForm ,動(dòng)態(tài)的ActionForm答應(yīng)你通過(guò)Struts的配置文件完成ActionForm的全部配置;再也沒(méi)有必要在應(yīng)用程序中創(chuàng)建具體的ActionForm類(lèi)。具體配置方法是:在Struts的配置文件通過(guò)增加一個(gè)元素,將type屬性設(shè)定成DynaActionForm或它的某個(gè)子類(lèi)的全名。下面的例子創(chuàng)建了一個(gè)動(dòng)態(tài)的ActionForm名為logonForm,它包含兩個(gè)實(shí)例變量:username 和 passWord.
  
  Jakarta Struts應(yīng)用的七個(gè)經(jīng)驗(yàn)(5)
  
  動(dòng)態(tài)的ActionForm可以用于Action類(lèi)和jsp,使用方法跟普通的ActionForm相同,只有一個(gè)小差別。假如使用普通的ActionForm對(duì)象則需要提供get 和 set方法取得和設(shè)置數(shù)據(jù)。以上面的例子而言,我們需要提供getUsername() 和 setUsername()方法取得和設(shè)置username變量,同樣地有一對(duì)方法用于取得和設(shè)置password變量.
  
  這里我們使用的是DynaActionForm,它將變量保存在一個(gè)Map類(lèi)對(duì)象中,所以必須使用DynaActionForm 類(lèi)中的get(name) 和 set(name)方法,其中參數(shù)name是要訪問(wèn)的實(shí)例變量名。例如要訪問(wèn)DynaActionForm中username的值,可以采用類(lèi)似的代碼:
  
  String username = (String)form.get("username");
  
  由于值存放在一個(gè)Map對(duì)象,所以要記得對(duì)get()方法返回的Object對(duì)象做強(qiáng)制性類(lèi)型轉(zhuǎn)換。
  DynaActionForm有好幾個(gè)很有用的子類(lèi)。其中最重要的是DynaValidatorForm ,這個(gè)動(dòng)態(tài)的ActionForm和Validator 一起利用公共的Validator包來(lái)提供自動(dòng)驗(yàn)證。這個(gè)特性使你得以在程序代碼之外指定驗(yàn)證規(guī)則。將兩個(gè)特性結(jié)合使用對(duì)開(kāi)發(fā)人員來(lái)說(shuō)將非常有吸引力。
  
  7. 使用可視化工具
  
  自從Struts 1.0 分布以來(lái),就出現(xiàn)了不少可視化工具用于協(xié)助創(chuàng)建,修改和維護(hù)Struts的配置文件。配置文件本身是基于xml格式,在大中型的開(kāi)發(fā)應(yīng)用中會(huì)增大變得很笨拙。為了更方便的治理這些文件,一旦文件大到你無(wú)法一目了然的時(shí)候,建議試著采用其中的一種GUI 工具協(xié)助開(kāi)發(fā)。商業(yè)性的和開(kāi)放源代碼的工具都有不少,表1列出了可用的工具和其相關(guān)鏈接,從那里可以獲取更多信息。
  
  附1. Struts GUI 工具
  應(yīng)用程序 性質(zhì) 網(wǎng)址
  Adalon 商業(yè)軟件 http://www.synthis.com/PRodUCts/adalon
  Easy Struts 開(kāi)放源碼 http://easystruts.sourceforge.net/
  Struts Console 免費(fèi) http://www.jamesholmes.com/struts/console
  JForms 商業(yè)軟件 http://www.solanasoft.com/
  Camino 商業(yè)軟件 http://www.scioworks.com/scioworks_camino.html
  Struts Builder 開(kāi)放源碼 http://sourceforge.net/projects/rivernorth/
  StrutsGUI 免費(fèi) http://www.alien-factory.co.uk/struts/struts-index.html

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌海市| 长葛市| 昭苏县| 元氏县| 新绛县| 东阳市| 丽水市| 政和县| 广宗县| 博爱县| 页游| 安新县| 镇江市| 贡嘎县| 乃东县| 西华县| 河东区| 武定县| 蓬莱市| 鱼台县| 嘉鱼县| 陆川县| 铅山县| 沽源县| 屏南县| 中江县| 拉萨市| 榆社县| 原阳县| 秀山| 连城县| 荆州市| 年辖:市辖区| 琼海市| 宁都县| 嘉鱼县| 大庆市| 晴隆县| 南投县| 贺兰县| 谢通门县|