• struts2action接收参数的三种方法


    action接收参数的三种方法:

    1.使用Action的属性接收参数:
        a.定义:在Action类中定义属性,创建get和set方法;
        b.接收:通过属性接收参数,如:userName;
        c.发送:使用属性名传递参数,如:user1!add?name=Magci&age=18;

    eg:

    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 String getName() {
    return name;
    }

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

    public int getAge() {
    return age;
    }

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

    }


    2.使用DomainModel接收参数:
        a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
        b.接收:通过对象的属性接收参数,如:user.getUserName();
        c.发送:使用对象的属性传递参数,如:user2!add?user.name=MGC&user.age=18;

    import user.model.User;
    import com.opensymphony.xwork2.ActionSupport;

    public class UserAction extends ActionSupport {

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

    public User getUser() {
    return user;
    }

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

    }

    如果传的参数和模型的属性个数不对应,我们一般使用DTO来作为中间层来传输数据。
    3.使用ModelDriven接收参数:
        a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
        b.接收:通过对象的属性接收参数,如:user.getName();
        c.发送:直接使用属性名传递参数,如:user2!add?name=MGC&age=18

    eg:

    import 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;
    }

    }

    执行过程:先NEW一个action.检查是否实现了ModelDriven接口,然后调用getModol(),从action返回一个Modol对象。然后调用该Modol对象的set属性。这样就把传过来的参数给接收啦。

  • 相关阅读:
    c语言中限制用户输入整数
    c语言 输入验证(限制输入正数)
    c语言中只读取输入的一行字符的首个字符
    python如何通过代码自动免密登陆ssh
    计算机科学速成课 02:电子计算机、继电器、术语“bug”的来源、真空管、晶体管、发展路径 转
    golang ...用法
    01 _ 程序的运行过程:从代码到机器运行
    深入Golang调度器之GMP模型 转
    golang可视化
    修改默认输入法,用英文标点符号
  • 原文地址:https://www.cnblogs.com/yujianjingjing/p/2659782.html
Copyright © 2020-2023  润新知