日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > Struts――ActionForm

Struts――ActionForm

來源:程序員人生   發(fā)布時間:2014-10-29 08:00:01 閱讀次數(shù):2920次

ActionForm

      ActionForm 表示 HTTP窗體中的數(shù)據(jù),可以將其看作是模型和視圖的中介,它負責保存視圖中的數(shù)據(jù)供模型或者視圖使用。ActionForm還具有的過濾保護的作用,只有通過ActionForm 驗證的數(shù)據(jù)才能夠發(fā)送到 Action 處理。

      ActionForm Bean從應(yīng)用和配置的角度分為兩類:動態(tài)ActionForm和靜態(tài)ActionForm和LazyForm。作用一樣,只是實現(xiàn)不一樣。

 

.靜態(tài)Form

由程序員手工編寫Form

1.ActionForm

提交表單的字段名和form中的屬性名一致。

 

2.ValidatorForm

用于驗證框架的Form,在請求參數(shù)前,先使用驗證框架驗證。

在struts-config中對應(yīng)的action標簽的validate值為true。

3.ValidatorActionForm

 

 

.動態(tài)ActionForm

通過配置文件完成ActionForm配置

 

1.DynaActionForm

<form-beanname="dynaForm"type="org.apache.struts.action.DynaActionForm"> <form-property name="username"type="java.lang.String"/> <form-property name="age"type="java.lang.Integer"/> </form-bean>


 

Java代碼

public ActionForwardexecute(ActionMapping mapping, ActionForm form, HttpServletRequestrequest, HttpServletResponse response) throwsException { DynaActionFormdaf=(DynaActionForm)form; Stringusername=(String)daf.get("username"); Integerage=(Integer)daf.get("age"); System.out.println("UserName="+username); System.out.println("Age="+age); returnmapping.findForward("success"); }


 

 

 

2.DynaValidatorForm

 

              和ValidatorForm一樣在使用驗證框架時使用。配置和DynaActionForm類似。

type="org.apache.struts.validator.DynaValidatorForm"

 

3.DynaValidatorActionForm

        ValidatorActionForm和DynaValidatorActionForm也都是在使用驗證框架時使用,和DynaValidatorForm及ValidatorForm不同的是,在配置validtion.xml中<formname=path> name使用的是action的path屬性值。以此來區(qū)分不同請求的驗證規(guī)則。

 

 

 

.還有一種特殊的FormLazyValidatorForm

<form-beanname="loginForm"type="org.apache.struts.validator.LazyValidatorForm"></form-bean>

我們沒有配置form的屬性。所以在jsp頁面中必須使用struts標簽。

Jsp代碼

<br>基本使用方式<br>Customer Name:<html:text property="username"></html:text> <br>Customer Code:<html:text property="usercode"></html:text> <br> <br>自動封裝Map<br>國家:<html:text property="address(nation)"></html:text> <br>省份:<html:text property="address(state)"></html:text> <br>城市:<html:text property="address(city)"></html:text>

這樣就可以直接進行驗證框架和action中的取值。

Java代碼

public ActionForwardexecute(ActionMapping mapping, ActionForm form, HttpServletRequestrequest, HttpServletResponse response) throwsException { LazyValidatorFormlz = (LazyValidatorForm) form; Stringusername = (String) lz.get("username"); Stringusercode = (String) lz.get("usercode"); System.out.println("name---" + username + " usercode---" + usercode); Map m =(Map) lz.get("address"); System.out.println(m.get("nation")); System.out.println(m.get("state")); System.out.println(m.get("city")); returnnull; }


四、ActionForm賦值原理

     我們?nèi)绻懒?/span>Struts的流程,那么理解起ActionForm的賦值過程來就簡單了很多,大家都知道,點擊提交后,會先初始化ActionServlet類,當接收到請求時,會調(diào)用service對象檢查HTTP請求類型,通過doGet()或doPost()方法調(diào)用process()方法。在ActionServlet中會調(diào)用RequestProcessorprocess()方法進行處理,該方法負責創(chuàng)建ActionForm對象,創(chuàng)建成功之后,首先執(zhí)行ActionForm中的reset()方法進行重置,然后得到表單中所有輸入域的name名稱,再調(diào)用request.getParameterValues(),根據(jù)name名稱得到相應(yīng)的值,最后將表單中的數(shù)據(jù)全部放到map中,mapkey為表單輸入域的名稱,mapvalue為表單輸入域的值,接下來調(diào)用一個第三方組件BeanUtils,將Map中的值,根據(jù)ActionForm中的類型先轉(zhuǎn)換好,再調(diào)用ActionForm中的setter方法設(shè)置到ActionForm上。

 

reset()方法:


賦值流程:

 


 

簡單順序:先調(diào)用構(gòu)造方法(判斷是否存在)――reset(重置)――setter(設(shè)定值)

 

五、總結(jié)

        ActionForm是在Struts1中存在的一個常用類,ActionForm幫助我們實現(xiàn)了自動設(shè)置數(shù)據(jù),使得程序員的使用變得簡單,不用關(guān)心賦值之類的事情而專注于業(yè)務(wù)。Struts2出現(xiàn)后,不用人們手動寫ActionForm了,但是這種思想我們需要了解。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美精品黄 | 欧美日韩三区 | 黄色三级在线观看 | 成人国产免费视频 | 激情av在线 | 日日噜噜夜夜狠狠久久av小说 | 日韩福利视频 | 免费观看污污视频 | 欧美日韩另类一区 | 亚洲国产精品99久久久久久久久 | 精品福利在线 | 国产99久久精品一区二区永久免费 | 国产成人精品免费视频 | 久久国产亚洲 | 亚洲精品三级 | 丰满少妇高潮惨叫久久久久 | 成人高清视频在线观看 | 91香蕉一区二区三区在线观看 | 中文字幕 欧美 日韩 | 人人射人人 | 日本一区二区视频在线 | 久久av一区二区三区亚洲 | 亚洲精品久久久久中文字幕二区 | 久久免费一区 | av网站免费在线观看 | 日本大片免a费观看视频的特点 | 精品日韩一区二区三区免费视频 | 麻豆国产尤物av尤物在线观看 | 欧美一二区 | 免费的毛片视频 | 在线视频福利 | 国产成人久久精品 | av片在线看 | 日本一区二区三区久久久 | 亚洲一区在线看 | 国产福利在线视频 | 黄色一极毛片 | 亚洲国产成人精品女人 | 国产 欧美 日韩 在线 | 免费观看一级毛片 | 日韩精品1区2区3区 精品视频首页 |