关于struts三种action后台接收参数的方法

来源:互联网 发布:反ps软件叫什么 编辑:程序博客网 时间:2024/05/21 06:22

第一种:使用action的属性来接收参数:
在action中定义好成员变量,成员变量和url中的属性名相同,action中的成员变量定义好相应的get,set方法,就可以直接拿到对应的参数的值。

    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String add(){        System.out.println("name="+name);        return SUCCESS;    }
    <a href="add.action?name=tom">添加用户</a>

在action中可以直接拿到name的值
name=tom
第二种:使用DomianModel(域模型)接收参数
我们首先创建一个域模型,在里面写好相应的属性,以及属性对应的get,set方法,
我们在action中,不需要再写属性了,只需要写好域模型,以及域模型类的get,set方法,就可以获得域模型对应的属性值。
新建一个域模型类
public class User {

private String name;private String password;public String getName() {    return name;}public void setName(String name) {    this.name = name;}public String getPassword() {    return password;}public void setPassword(String password) {    this.password = password;}在action中只需要写域模型user,以及user的get,set方法    private User user;public User getUser() {    return user;}public void setUser(User user) {    this.user = user;}public String add(){    System.out.println("name="+user.getName());    return SUCCESS;}还有一种特别注意的地方,就是我们可能在jsp传的参数,比域模型的属性多(例如我们总是包含密码确认的选项),所以还有一种是dto对象,即数据传输对象。然后我们具体的user对象,再从dto对象中取值即可。

第三种modeldriven(模型驱动)
我们要实现一个modelDriven的接口,同时写入泛型

public class Action extends ActionSupport implements ModelDriven<User>{    private User user = new User();    @Override    public User getModel() {        return user;    }    public String add(){        System.out.println("name="+user.getName());        return SUCCESS;    }

以上最常用的方法是DomainModel方法来接收参数

阅读全文
0 0
原创粉丝点击