package com.hlg.data;
import com.hlg.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class Data1Action extends ActionSupport{
private String username;
private String password;
private String address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String execute(){
System.out.println("Data1Action...");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setAddress(address);
System.out.println(user);
return NONE;
}
}
3 使用属性封装获取表单数据到属性里面,不能把数据直接封装到实体类对象里面
模型驱动封装(重点)
1 使用模型驱动方式,可以直接把表单数据封装到实体类对象里面
2 实现步骤
(1)action实现接口 ModelDriven
(2)实现接口里面的方法 getModel方法
- 把创建对象返回
(3)在action里面创建实体类对象
3 使用模型驱动和属性封装注意问题:
(1)在一个action中,获取表单数据可以属性封装,使用模型驱动封装,
不能同时使用属性封装和模型驱动封装获取同一个表单数据
如果同时使用,只会执行模型驱动
模型驱动封装代码:
com.hlg.data.Data2Action
package com.hlg.data;
import com.hlg.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class Data2Action extends ActionSupport implements ModelDriven<User>{
//创建对象
//前提要求:表单输入项name属性值和实体类属性名 要一样
private User user = new User();
public User getModel() {
return user;
}
public String execute(){
System.out.println(user);
return NONE;
}
}