1、通过属性传参数(Attr)

UserAction.java
package  com.bebig.struts2.user.action;

import  com.opensymphony.xwork2.ActionSupport;

public   class  UserAction  extends  ActionSupport  {
    
private String name;
    
private int age;

    
public String add() {
        System.out.println(
"name:"+name);
        System.out.println(
"age:"+age);
        
return SUCCESS;
    }


    
public int getAge() {
        
return age;
    }


    
public String getName() {
        
return name;
    }


    
public void setAge(int age) {
        
this.age = age;
    }


    
public void setName(String name) {
        
this.name = name;
    }

}

调用方法:
< href ="user/userAdd.action?name=Don&age=26" > 添加用户 </ a >
2、通过域模型传参数(Domain Model)
UserAction.java
package  com.bebig.struts2.user.action;

import  com.bebig.struts2.user.dto.UserDTO;
import  com.bebig.struts2.user.model.User;
import  com.opensymphony.xwork2.ActionSupport;

public   class  UserAction  extends  ActionSupport  {
    
// 通过域模型传参数
    private User user;

    
// 通过数据传输对象传参数
    
// private UserDTO userDTO;

    
public User getUser() {
        
return user;
    }


    
public void setUser(User user) {
        
this.user = user;
    }


    
public String add() {
        System.out.println(
"name:" + user.getName());
        System.out.println(
"age:" + user.getAge());
        
// System.out.println("name:"+userDTO.getName());
        
// System.out.println("age:"+userDTO.getAge());
        return SUCCESS;
    }


    
// public void setUserDTO(UserDTO userDTO) {
    
// this.userDTO = userDTO;
    
// }
    
//
    
// public UserDTO getUserDTO() {
    
// return userDTO;
    
// }
}

User.java
package  com.bebig.struts2.user.model;

public   class  User  {
    
private String name;
    
private int age;

    
public int getAge() {
        
return age;
    }


    
public String getName() {
        
return name;
    }


    
public void setAge(int age) {
        
this.age = age;
    }


    
public void setName(String name) {
        
this.name = name;
    }

}

UserDTO.java
package  com.bebig.struts2.user.dto;
// 数据传输对象
public   class  UserDTO  {
    
private String name;
    
private String password;
    
private String comfirmPassword;

    
public String getPassword() {
        
return password;
    }


    
public void setPassword(String password) {
        
this.password = password;
    }


    
public String getComfirmPassword() {
        
return comfirmPassword;
    }


    
public void setComfirmPassword(String comfirmPassword) {
        
this.comfirmPassword = comfirmPassword;
    }


    
private int age;

    
public int getAge() {
        
return age;
    }


    
public String getName() {
        
return name;
    }


    
public void setAge(int age) {
        
this.age = age;
    }


    
public void setName(String name) {
        
this.name = name;
    }

}

调用方法:
< href ="user/userAdd.action?user.name=Don&user.age=26" > 添加用户 </ a >
3、通过模型驱动传参数(Model Driven)
UserAction.java
package  com.bebig.struts2.user.action;

import  com.bebig.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
(源代码同上)
调用方法:
< p > 使用ModelDriven传参数 </ p >
< href ="user/userAdd.action?name=Don&age=26" > 添加用户 </ a >

如果视图存在中文参数,应尽量使用post方法提交,以防止发生乱码。