《Struts2接收参数的几种方式》由会员分享,可在线阅读,更多相关《Struts2接收参数的几种方式(6页珍藏版)》请在金锄头文库上搜索。
1、Struts2接收参数的几种方式九用Action的属性:在action里而定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致,并不用做数据类型的转换。相应提交方式可以用get和post,女II:testAction?name=admin如:publicclassTestActionextendsBaseActionprivatestaticfinallongserialVersionUID=-7463970150000893325L;privateStringname;publicvoidexeceute()Systemoutpirint丄n(name+rr:+na
2、me);publicStringgetName()“turnname;publicvoidsetName(Stringname)thisname=name;2.使用DomainModel:在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个刈喙。和应提交方式可以用get和post,女II:testAction?resBananRc.name=admin如:publicclassTestActionextendsBaseActionprivatestatlofinallongserialVersionUID=-7463970150000893325L;privateRes
3、BananRcresBananRc;publicResBananRcgetResBananRc():returnresBananRc;publicvoidsetResBananRc(ResBananRcresBananRc)thisfGsBananRu=resBananRc;publicvoidexeceute()Systemoutprintin(/#名:+resBananRcgetName();3.使用DTO-数据传输对象它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过来,做处理后,再传递给相应方法去创建User対象。提交参数的方式的Do
4、mailModel方式的相同。DTO:publicclassUserDTOprivateStringname;privateStringpassword;privateStringconfirm;publicStringgetName()returnname;publicvoidsetName(Stringname)thisname=name;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)thispassword=password;publicStringgetConfirm()retu
5、rnconfirm;publicvoidsetConfirm(Stringconfirm)thisconfirm=confirm;Action:publicclassTestActionextendsBaseActionprivatestaticfinallongserialVersionUID=-7463970150000893325L;privateUserDTOuserDTO;publicUserDTOgetUserDTO()returnuserDTO;publicvoidsetUserDTO(UserDTOuserDTO)thisuserDTO=userDTO;publicvoidex
6、eceute()System.outprintin(如7名:+userDTOgetName();4使用McxlelDriven:在创建Action的时候,发现Action实现了ModelDriven接II,去调用接II的getModel()方法,取到了相关对象。相应提交方式可以用get和post,女II:testAction?name=adminpublicclassTestActionextendsBaseActionisplRentsModelDrivenprivatestatlofinallongserialVersionUID=-7463970150000893325L;private
7、ResBananRcresBananRc=newResBananRu();/这中浚F动的New卜publicResBananRcgetModel():returnresBananRc;publicvoidexeceute()Systemoutprint丄n(妇名:+resBananRcgetName();5使用requMt对象:此方法与与传统的JSP等传接参数一样,即使用request.getParameter()方法publicclassTestActionextendsBaseActionprivatestaticfinallongserialVersionUID=-7463970150000893325L;publicvoidexeceute()Stringname=supergetRequest()getParameter(,fparaNamer,);Systemoutpirint丄n(如名:+name);其中上述第13相对而言较为常用,第銀5方法相对不常用。