<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks
    				接觸
    				Struts
    				久了不免會對其有這樣或那樣的看法,前階段潛心研究
    				Struts
    				,對其中的動態(tài)
    				ActionForm
    				的使用就有一些意見,在這里跟大家說道說道,希望大家能夠給點意見。
    		
    				
    						一、
    				
    				用途
    		
    				動態(tài)
    				ActionForm
    				與標(biāo)準(zhǔn)的
    				Form
    				的用途如出一轍,都是為了能夠作為
    				DTO(Data Transfer Object)
    				對向來與
    				Action
    				做數(shù)據(jù)傳遞,所不同的是動態(tài)
    				ActionForm
    				并沒有一個專門的類作為
    				DTO
    				對象的載體,取而代之的是在
    				Struts
    				配置文件
    				FormBean
    				中增加屬性配置項,來達到與
    				DTO
    				對象相同的作用。下面我們以用戶登陸的應(yīng)用為例,討論一下普通的
    				ActionForm
    				與動態(tài)
    				ActionForm
    				的區(qū)別。
    		
    				用戶通過輸入用戶名和密碼后經(jīng)過校驗進入系統(tǒng)。過程描述的很簡單,
    				ActionForm
    				設(shè)計起來也不復(fù)雜,我們只需要設(shè)定一下兩個屬性就可以了:
    		
    				private
    				
    						String userID;
    		
    				private
    				
    						String userPwd;
    		
    				最后我們?yōu)橹鴥蓚€屬性加上
    				get
    				
    				set
    				方法就完成了普通
    				ActionForm
    				的設(shè)計。如果需要的話,我們還可以在這個
    				Formli
    				覆蓋
    				validate()
    				方法來對用戶輸入的信息進行簡單的校驗。
    		
    				下面,我們就來看看動態(tài)
    				ActionForm
    				是通過怎樣的設(shè)計來達到和上面同樣的效果的吧!
    		
    				我們在
    				struts-config
    				文件中的
    				<form-bean>
    				標(biāo)簽中定義我們的動態(tài)
    				Form
    				,代碼如下。
    		
    				<
    				form-beans
    				>
    		
    				
    						? <
    				form-bean
    				
    						? 
    				
    				name
    				=”
    				loginForm
    				? 
    				type
    				=”
    				org.apache.struts.action.DynaActionForm
    				”>
    		
    				
    				
    				
    						
    						<!----
    				下面是設(shè)置
    				Form
    				的屬性
    				--- >
    		
    				
    						??????<form-poperty? 
    				name
    				=”
    				userID
    				? 
    				type
    				=”
    				java.lang.String
    				”/>
    		
    				
    						??????<form-poperty? 
    				name
    				=”
    				userPwd
    				
    				type
    				=”
    				java.lang.String
    				”/>
    		
    				
    						??</
    				form-bean
    				>
    		
    				</
    				form-beans
    				>
    		
    				這樣便完成了一個動態(tài)
    				ActionForm
    				的定義,我們不需要定義
    				get
    				
    				set
    				方法來設(shè)置或者獲得
    				Form
    				屬性的值,我們只需要在我們的
    				Action
    				中使用:
    		
    				String
    				 userID=(String)form.get(“userID”);
    		
    				這樣的方法獲得
    				Form
    				中的數(shù)據(jù),或者是通過
    		
    				form.set(“userID”,”001318”);
    		
    				這樣的方法設(shè)置
    				Form
    				中的屬性值。
    		
    				從上面的論述不難看出兩種
    				ActionForm
    				的用途與使用差別不是很大,都可以完成對視圖的數(shù)據(jù)傳遞的作用。而從便捷角度來看動態(tài)
    				FormBean
    				顯得優(yōu)勢明顯,因為他的設(shè)計更為簡單,而且由于具有可配置的優(yōu)勢,使其在實際操作方面顯得跟為靈活!
    		
    				
    						二、
    				
    				差異
    		
    				上面的論述能夠突出動態(tài)
    				ActionForm
    				的優(yōu)勢,下面我們來看看動態(tài)
    				ActionForm
    				的“致命傷”。
    		
    				
    						1、? 
    				
    				數(shù)據(jù)驗證
    		
    				細(xì)心的讀者會發(fā)現(xiàn)我在提及普通的
    				ActionForm
    				的時候我曾經(jīng)講到過可以在
    				ActionForm
    				中的
    				validate()
    				方法對用戶輸入的信息進行簡單的校驗,而在動態(tài)
    				ActionForm
    				中卻從未提到。這是因為如果想要實現(xiàn)動態(tài)
    				ActionForm
    				的校驗我們必須做很多工作。首先我們必須引入
    				Validator
    				驗證框架來幫助我們完成數(shù)據(jù)校驗工作,其次由于某些數(shù)據(jù)的校驗,我們還有可能為其編寫數(shù)據(jù)校驗項來幫助
    				Validator
    				框架完成數(shù)據(jù)校驗工作。這與普通的
    				ActionForm
    				相比,動態(tài)
    				ActionForm
    				顯得繁瑣而笨拙。
    		
    				
    						2、? 
    				
    				可配置
    		
    				動態(tài)
    				ActionForm
    				的可配置型無疑是其存在優(yōu)勢之一,,但筆者發(fā)現(xiàn),其可配置性的作用可謂捉襟見肘。因為可配置的
    				FormBean
    				
    				Action
    				的耦合度還是相當(dāng)大的。也就是說,由于
    				Action
    				類李引用了如“
    				String
    				 userID=(String)form.get(“userID”);
    				”這樣的代碼,那么當(dāng)我們增加或刪除
    				Form
    				中的屬性的時候就必須更改我們的
    				Action
    				類,這與普通的
    				ActionForm
    				的作法是一樣的,失去了其可配置的優(yōu)勢所在。
    		
    				綜上,筆者推薦使用普通的
    				ActionForm
    				去履行
    				DTO
    				的職責(zé),因為那樣會更方便解決應(yīng)用問題。動態(tài)
    				ActionForm
    				只是一點小嘗試,不推薦使用。以上官邸均屬個人看法,不妥之處還望各位能夠批評指正!
    		


    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=375179

    posted on 2006-12-25 14:36 蘆葦 閱讀(522) 評論(0)  編輯  收藏 所屬分類: Struts
    主站蜘蛛池模板: 国产卡一卡二卡三免费入口| 嫩草在线视频www免费观看| 亚洲一本一道一区二区三区| 亚洲七久久之综合七久久| 四虎影视在线看免费观看| 中文字幕a∨在线乱码免费看| 午夜不卡久久精品无码免费| 免费无码成人AV片在线在线播放| 四虎免费永久在线播放| 国产亚洲美女精品久久久久狼| 亚洲一区二区三区乱码在线欧洲| 成人午夜免费视频| 国产成人亚洲综合无码| 亚洲av无码电影网| 国产免费AV片在线观看| 四虎影视免费永久在线观看| 男人免费视频一区二区在线观看| 6080午夜一级毛片免费看| 亚洲国产精品碰碰| 亚洲综合在线一区二区三区| 成人免费视频国产| 亚洲一级大黄大色毛片| 永久黄网站色视频免费直播| 日本一区二区在线免费观看 | 免费看男人j放进女人j免费看| 激情内射亚洲一区二区三区| 美女视频黄频a免费观看| 91视频国产免费| 无码天堂亚洲国产AV| 色妞WWW精品免费视频| 亚洲精品高清视频| 国产一级一毛免费黄片| 亚洲国产成人久久综合一| 操美女视频免费网站| 亚洲日本人成中文字幕| 全部免费a级毛片| 看全免费的一级毛片| 国产精品成人四虎免费视频| 亚洲日本VA午夜在线影院| 亚洲黄片毛片在线观看| h片在线观看免费|