首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Struts2之小弟我见系列总结- Struts接收参数的方式(2012.12.22)

2012-12-30 
Struts2之我见系列总结---- Struts接收参数的方式(2012.12.22)1. 用Action 的属性接收参数2.使用Domain Mo

Struts2之我见系列总结---- Struts接收参数的方式(2012.12.22)

1. 用Action 的属性接收参数

2.使用Domain ModelModel接收参数

3.使用DTO--DTO--数据传输对象接收参数

4.使用 ModelDriven接收参数

5.使用request对象接收参数

 

详细解释:

1.用Action 的属性:

在action里面定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致,并不用做数据类型的转换。

相应提交方式可以用get和post,如:testAction? name=admin

如:

   public class  TestActionextends BaseAction{

private static final longserialVersionUID = -7463970150000893325L;

private String name;

public voidexeceute() {

System.out.println(name +": " + name);

}

public String getName() {

return name;

}

public voidsetName(String name) {

thisthis.name= name;

}

}

2.使用Domain ModelModel

在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个对象。相应提交方式可以用get和post,

如:testAction?resBananRc.name=admin

如:

public classTestAction extendsBaseAction{

private static final longserialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc;

public ResBananRc getResBananRc() {

return resBananRc;

}

public voidsetResBananRc(ResBananRc resBananRc) {

thisthis.resBananRc= resBananRc;

}


 

public voidexeceute() {

System.out.println("姓名: "+ resBananRc.getName());

}

}

3.使用DTO--DTO--数据传输对象

它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过

来,做处理后,再传递给相应方法去创建User 对象。提交参数的方式的Domail  Model方式的相同。

DTO:

public classUserDTO {

    private String name;

    private String password;

   private String confirm;

public String getName() {

return name;

}

public voidsetName(String name) {

thisthis.name= name;

}

public String getPassword() {

return password;

}

public voidsetPassword(String password) {

thisthis.password= password;

}

public String getConfirm() {

return confirm;

}

public voidsetConfirm(String confirm) {

thisthis.confirm= confirm;

}

}

Action:

public classTestAction extendsBaseAction{

private static final longserialVersionUID = -7463970150000893325L;

private UserDTO userDTO;

public UserDTO getUserDTO() {


 

return userDTO;

}

public voidsetUserDTO(UserDTO userDTO) {

thisthis.userDTO= userDTO;

}

public voidexeceute() {

System.out.println("姓名: "+ userDTO.getName());

}

}

4.使用 ModelDriven

在创建Action的时候,发现Action 实现了ModelDriven 接口,去调用接口的getModel()方法,取到了相关对象。

相应提交方式可以用get和post,如:testAction? name=admin

public classTestAction extendsBaseAction implementsModelDriven<ResBananRc>{

private static final longserialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc = new ResBananRc();//这里要手动的New下

public ResBananRc getModel() {

return resBananRc;

}

public voidexeceute() {

System.out.println("姓名:" +resBananRc.getName());

}

}

5.使用request 对象

此方法与与传统的JSP等传接参数一样,即使用request. getParameter(“”)方法

public classTestAction extendsBaseAction{

private static final longserialVersionUID = -7463970150000893325L;

public voidexeceute() {

String name =supersuper.getRequest().getParameter("paraName");

System.out.println("姓名:" + name);

}


 

}

 PS:其中1-3为常用方法。

 

备注:该文件通过网络整理。

 

 

热点排行