http://localhost:8080/z-struts2-04/user/useradd?name=ss&age=8
通过这种方式传参,对应的action类中只需要提供和参数名一样的属性以及属性的setter、getter方法即可。
如下:
public class UserAction extends ActionSupport{
public String name;
public 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;
}
public String add(){
System.out.println(name+" "+age);
return "add";
}
public String del(){
System.out.println(name+" "+age);
return "del";
}
}
http://localhost:8080/z-struts2-04/user/userdel?user.name=jjz&user.age=88
通过这种方法传递参数,我们就要定义一个Bean,提供参数名一样的属性以及属性的setter、getter方法。然后将Bean 添加到Action类中,并且提供setter、getter方法。
如下:
public class UserAction extends ActionSupport{
//这里不需要new一个User,struts会帮我们new
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String add(){
System.out.println(user.getName()+" "+user.getAge());
return "add";
}
public String del(){
System.out.println(user.getName()+" "+user.getAge());
return "del";
}
}
第三种:sAction类实现ModelDriven接口
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
//重写getModel方法
@Override
public User getModel() {
return user;
}
public String add(){
System.out.println(user.getName()+" "+user.getAge());
return "add";
}
public String del(){
System.out.println(user.getName()+" "+user.getAge());
return "del";
}
}
执行流程:Struts先找到对应的action,找到对应的Action类,发现这个类实现了ModelDriven接口,然后就会调用getModel方法,得到返回的对象,然后调用对象的setter方法为对象的属性赋值。