struts2-传接参数

struts2---传递参数
(第一种方法,这种方法叫做DomainModel----域模型)
Action的配置如下,不过还需要建一个model对象User
Java代码 
package dalei.wildcard;  
import com.opensymphony.xwork2.ActionSupport;  
import dalei.model.User;  
public class Wildcard extends ActionSupport {  
//在调用的时候struts会自动的new出一个对象来  
private User user;  
       public String execute(){  
System.out.println("name="+user.getName());  
System.out.println("age="+user.getAge());  
return SUCCESS;  
}  
public User getUser() {  
return user;  
}  
public void setUser(User user) {  
this.user = user;  
}  



Java代码 
package dalei.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;  
}  
}  

在传递参数的是和普通传递不一样:这种用的最多
http://localhost/Test/index? user.name=dalei&user.age=21
注意参数前面加了model类的名字。这种传递是的action类里面的内容比较简洁,且易于对大量参数进行管理


(2 这是普通的方法,用起来稍有并不方便的地方,使得action类的页面太过繁杂)
在action中定义好要传递的参数,并定义get和set方法
Java代码 
import com.opensymphony.xwork2.ActionSupport;  
public class Wildcard extends ActionSupport {  
public String execute(){  
System.out.println("name="+name);  
System.out.println("age="+age);  
return SUCCESS;  
}  
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;  
}  
}  

当访问的时候将其将要传递的参数加上:
http://localhost/Test/index?name=dalei&age=21
或者通过表单直接传递<form>下的<input type=text name=“name”>中的name传递给action
即可将要传递的参数传到action中,然后用于做要做的事情

(3,这种方法一般不是很常用)
Java代码 
package dalei.wildcard;  
import com.opensymphony.xwork2.ActionSupport;  
import com.opensymphony.xwork2.ModelDriven;  
import dalei.model.User;  
public class Wildcard extends ActionSupport implements ModelDriven<User> {  
//在调用的时候struts会自动的new出一个对象来  
private User user;  
public String execute(){  
System.out.println("name="+user.getName());  
System.out.println("age="+user.getAge());  
return SUCCESS;  
}  
public User getModel() {  
// TODO Auto-generated method stub  
return null;  
}  
}  


Java代码 
package dalei.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;  
}  
}  


在传递参数的是和普通传递一样:不常用
http://localhost/Test/index?name=dalei&age=21
和DomainModel的用法大致相同