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

来源:互联网 发布:以色列 知乎一小时 编辑:程序博客网 时间:2024/06/17 05:16

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


原创粉丝点击