Struts2常用接收参数的4种方式

1. 用Action的属性:

 

在action 里面定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致,并不用做数据类型的转换。

相应提交方式可以用get 和post,如:testAction? name=admin

如:

    public class TestAction extends BaseAction{  
        private static final long serialVersionUID = -7463970150000893325L;  
        private String name;  
          
        public String getName() {  
            return name;  
        }  
        public void setName(String name) {  
            this.name = name;  
        }  
        public void execeute() {  
            System.out.println(name +" : " + name);  
        }  
    }  

2. 使用DomainModel: 

在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post

如:testAction? user.name=admin (user是action中的成员变量)

    public class TestAction extends BaseAction{  
       private static final long serialVersionUID = -7463970150000893325L;  
       private User user;
       public String execute(){
          System.out.print("username="+user.getUsername());
          return SUCCESS;
       }
       public User getUser() {
          return user;
       }
       public void setUser(User user) {
          this.user = user;
       }
    }  

3.使用ModelDriven:

在创建Action 的时候,发现Action 实现了ModelDriven 接口,去调用接口的getModel()方法,取到了相关对象。

相应提交方式可以用get 和post,如:testAction? name=admin

    public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{  
        private static final long serialVersionUID = -7463970150000893325L;  
        private User user= new User();//这里要手动的New下  
        public ResBananRc getModel() {  
            return user;  
        }  
        public void execeute() {  
            System.out.println("姓名:" + user.getName());  
        }  
    }  

4.webwork方式:

/**
     * 根据指定的页面参数名称,获取页面传递来的参数值
     *
     * @param parameter
     * @return 数组对象
     */
	protected String[] getParamValue(String key){
		return (String[])ActionContext.getContext().getParameters().get(key);
	}

遍历数组对象,输出getParameter的值

for(int i = 0; i< getParamValue("username").length; i++){
            System.out.println("user_name="+getParamValue("username")[i]);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章