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]);
}


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