第三种方法,先贴代码:
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>接口,复写@Override
public User getModel() {
return user;
} 方法,这种方法是将action和model分开,简化action的代码量,对比前两种方法来说优点很多。但是由于个人原因,还是使用第二种方法来编写程序,具体哪种方法好,根据个人喜好或者团队协调吧。期待下次更新。。。