實現模型驅動有以下兩種方法:
方法一
(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>