Struts2中接受页面参数的几种形式

本文介绍了Struts2中接收参数的四种主要方法:通过Action属性直接接收、使用Domain Model模式、利用DTO(数据传输对象)以及实现ModelDriven接口。

Struts2接收参数的几种方式:
1. 用Action的属性:
在action里面定义要接收的参数,并提供相应的setter,getter,可以和提交参数的名称一致,并不用做数据类型的转换。
如:

public class UserAction extends ActionSupport { private String password; pirvate String name; //……对应的setter,getter方法 public void execeute() { System.out.println(name +”:”+passowrd); return “success”; } }

相应提交方式可以用get和post,如:userAction?password=admin&name=admin
2. 使用Domain Model:
在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个对象
如:
public class UserAction extends ActionSupport { private User user; //……对应的setter,getter方法 public void execeute() { System.out.println(user.getName() +”:”+user.getPassowrd()); return “success”; } }

提交参数:userAction?user.password=1&user.name=admin;这里面的user指向Action里面的user。

3. 使用DTO--数据传输对象
它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过来,做处理后,再传递给相应方法去创建User对象。
public class UserDTO { private String name; private String password; private String confirm; //……对应的setter,getter方法 }

可能的Action

public class UserAction extends ActionSupport { private UserDTO user; //……对应的setter,getter方法 public void execeute() { if(checkdate(userDTO userDTO) )//检查数据{ newUser(UserDTO userDTO)//创建User对象 System.out.println(user.name +”:”+user.passowrd); return “success”; } return “fail”; } }

提交参数的方式的Domail Model方式的相同。


4.使用ModelDriven:
在创建Action的时候,发现Action实现了ModelDriven接口,去调用 接口的getModel()方法,取到了User。

public class UserAction extends ActionSupport implements ModelDriven<User> { private User user = new User(); //这里要手动的New下 //……对应的setter,getter方法 public void execeute() { System.out.println(user.name +”:”+user.passowrd); return “success”; } @Override public User getModel() { return user; } }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值