国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 密山市| 阿荣旗| 潞城市| 临沭县| 昌黎县| 蕲春县| 陈巴尔虎旗| 澄江县| 聂荣县| 杨浦区| 逊克县| 定州市| 麦盖提县| 石棉县| 南乐县| 周口市| 岳阳县| 都兰县| 治多县| 霍林郭勒市| 海盐县| 佛学| 昌宁县| 乌拉特中旗| 台中县| 永登县| 马龙县| 徐州市| 辽源市| 石狮市| 福清市| 白银市| 长丰县| 怀远县| 玛纳斯县| 青浦区| 莆田市| 永济市| 漳州市| 景洪市| 长汀县|