<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
    主站蜘蛛池模板: 特级毛片aaaa免费观看| 亚洲成a人片在线观看播放| 免费在线观看毛片| 日韩精品成人亚洲专区| 免费A级毛片在线播放不收费| 女人让男人免费桶爽30分钟| 浮力影院第一页小视频国产在线观看免费 | 亚洲成AV人片在线观看无码| 亚洲热线99精品视频| 亚洲精品无码不卡在线播放HE | 99久久免费国产香蕉麻豆 | 中文字幕免费播放| 野花香高清在线观看视频播放免费| 国产一精品一AV一免费| 一区二区三区四区免费视频| 久久久久久精品成人免费图片| 日韩免费精品视频| 日韩在线免费播放| 亚洲精品和日本精品| 亚洲欧洲美洲无码精品VA | 免费播放春色aⅴ视频| 亚洲五月午夜免费在线视频| 亚洲国产另类久久久精品黑人 | 国产亚洲精品a在线观看| 亚洲国产精品国自产拍AV| 久久久亚洲欧洲日产国码aⅴ| 亚洲国产模特在线播放| 亚洲国产精品成人午夜在线观看| 免费夜色污私人影院网站| 中国videos性高清免费| 在线观看免费视频资源| 巨胸喷奶水视频www网免费| 亚洲国产天堂久久久久久| 亚洲国产精品成人精品无码区在线| 亚洲综合图片小说区热久久| 国产亚洲精品bv在线观看| 午夜免费国产体验区免费的| 国产自国产自愉自愉免费24区| 欧洲一级毛片免费| 免费一看一级毛片人| 亚洲福利视频一区|