Struts2获得表单数据

1.在struts2里面封装类ActionContext,使用这个对象获取表单数据

       ActionContext context = ActionContext.getContext();

       //2 调用方法获取表单数据

       Map<String, Object> map = context.getParameters();

2. ServletActionContext

struts2里面封装类ServletActionContext,这个类里面提供很多静态方法,获取request

3.接口注入,实现ServletRequestAware,获得request对象

封装:

属性封装实现方式:

(1)在action定义成员变量,和表单输入项name属性值对应

(2)生成定义变量set方法(get和set方法)

使用模型驱动封装,把表单数据封装到实体类对象里面

(1)让action实现接口ModelDriven

(2)实现接口里面的方法  getModel()

(3)在action成员变量位置,手动创建对象,要求:实体类属性和表单输入项name属性值一样

    private User user = new User();

    //实现接口的方法

    public User getModel() {

       return  user;

    }

需要在表单输入项里面写表达式完成数据封装,使用表达式封装可以把表单数据封装到对象里面

(1)在action成员变量位置定义对象类型变量

(2)生成对象类型变量get和set方法

//1 定义对象类型变量

    private User user;

    //2 get和set方法

    public User getUser() {

       returnuser;

    }

    publicvoid setUser(User user) {

       this.user = user;

    }

提交的name为对象.属性    如name=user.userName

使用这两种方式可以把表单数据封装到对象里面

2区别:

(1)使用模型驱动把数据封装到一个对象里面

(2)使用表达式封装可以把数据封装到多个对象里面

注:同一个表单使用一种方式封装

封装到list       name表达式:对象[index].属性

 

//1定义list集合类型变量

    private List<User> list;

    //2 get和set方法

    public List<User> getList() {

       returnlist;

    }

    publicvoid setList(List<User> list) {

       this.list = list;

    }

 

封装到map   Map<string,对象>     name表达式:map[key].属性

    //1 定义map集合类型变量

    private Map<String,User> map;

    //2 get和set方法

    public Map<String, User> getMap() {

       returnmap;

    }

    publicvoid setMap(Map<String, User> map) {

       this.map = map;

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值