第三種方法,先貼代碼:
UserAction.java代碼爲:
package com.bjsxt.struts2.user.action;
import com.bjsxt.struts2.user.model.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public String add() {
System.out.println("name=" + user.getName());
System.out.println("age=" + user.getAge());
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
}
User.java代碼爲:
package com.bjsxt.struts2.user.model;
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
我們來分析一下這種方式的原理和好處。首先,使用User.java來定義參數的屬性和方法,然後創建action實現ModelDriven<User>接口,複寫@Overridepublic User getModel() {
return user;
} 方法,這種方法是將action和model分開,簡化action的代碼量,對比前兩種方法來說優點很多。但是由於個人原因,還是使用第二種方法來編寫程序,具體哪種方法好,根據個人喜好或者團隊協調吧。期待下次更新。。。