1. 字符串接收
这种字符串接收方式最简单,属性写好GET和SET方法即可,表单中使用testAction?username=dorole提交。
private String username;
public String getUsername()
{
	return username;
}
public void setUsername(String username)
{
	this.username = username;
}
2. DomainModel
DomainModel即域模型,对应项目中的实体类。如果表单中的字段与实体类一一对应,则可以使用。
例如Employee类中有name属性,表单中可以这样提交testAction?employee.name=dorole
private Employee employee;
public Employee getEmployee()
{
	return employee;
}
public void setEmployee(Employee employee)
{
	this.employee = employee;
}
3. ModelDriven
ModelDriven模型驱动,由struts2根据传过来的参数组装成一个model。
要使用模型驱动,Action需要实现ModelDriven接口,实现抽象方法getModel()。
记得使用泛型。表单提交方法和第一种是一样的,testAction?username=dorole。
public class testAction extends ActionSupport implements ModelDriven{ private Employee employee = new Employee(); public Employee getModel() { return employee; } } 
4. 后续
最后一种很少使用,麻烦。在很多情况下表单的字段会和实体类不一致,比如输入密码和重复密码,验证码等等可以采用第一种自己组装成对象。或者使用dto/vo类来转换。
本文链接地址:https://dorole.com/50/
恩,不错,用了这么久的ModelDriven还不知道是怎么回事,现在终于知道了,呵呵。。。