Struts2框架的传值问题

本文详细介绍了Struts2框架中的属性传值方法,包括setter注入方式、使用实体类映射页面元素信息以及model-driven模型的应用。通过具体示例展示了如何在JSP页面与Action类间传递数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从前台传值

  1. 属性传值(setter方法注入)
    a.jsp页面的name属性值要和action类中的属性完全一致(case sensitive)。
    b.action类中的setter方法就是把前台的数据注入到指定的属性中,getter方法是从前台获取属性的值。
    c.页面取值:${name属性值}
  2. 域模型
    a.创建一个实体类描述页面元素的信息
 public class User {
    private String id;
    private String name;
    private Integer age;
    private String userName;
    private String password;
    private String phone;
    private String email;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }




}   
  b.action类中创建一个引用属性,类型为实体类对象 ,并增加setter/getter方法
  public class UserAction extends ActionSupport {

    private static final long serialVersionUID = 1L;
    private User user;

    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }

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

    public User getUser() {
        return user;
    }

}
  c.jsp页面的name属性值添加对象约束,eg: user.userName
  ![对象约束](https://img-blog.youkuaiyun.com/20160302171007321)
  d.页面取值:${user.userName}

4. model-driven模型
a.创建一个实体类映射页面元素信息
b.action类实现ModelDriven接口,实现getModel()方法,返回model;

public class userAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();

@Override
public String execute(){

        return SUCCESS;

}

public User getModel() {
    // TODO Auto-generated method stub
    return user;
}
}    

只要action类中有getXXX()方法,就可以在jsp中获得XXX的值,实体类中没有XXX属性也可以* .例如下面的model就是getModel()中的model。
c.页面取值:${model.userName}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值