实现模型驱动有以下两种方法:
方法一
(1)创建实体类,实体类的创建需符合 JavaBean 的创建规则:
- 公有的构造函数
- 私有的属性
- gatter 和 setter 方法
public class User {
private String username;
private String password;
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;
}
}
(2)在 Action 类中创建实体类属性,并实现其 gatter 和 setter 方法。
public class LoginAction {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
(3)在表单提交页面,创建表单时,字段的属性 name的值用 对象名.属性名 的形式。
<form action="login.action">
username:<input type="text" name="user.username"/>
password:<input type="password" name="user.password" />
<input type="submit" value="sublit" />
</form>
方法二
(1)同方法一
(2)在 Action 类中进行以下操作:
- 创建模型驱动对应的实体类属性,并需 new 一个对象;
- 实现
com.opensymphiny.xwork2.ModelDriven<T>
接口,并复写其 getModel() 方法。
public class LoginAction implements ModelDriven<User>{
private User user = new User();
@Override
public User getModel() {
return user;
}
}
(3)在表单提交页面中,表单的字段 name 属性需与实体类的属性名相同。
<form action="login.action">
username:<input type="text" name="username"/>
password:<input type="password" name="password" />
<input type="submit" value="sublit" />
</form>