struts2封装表单数据
原始方式封装
属性封装
- 直接把表单提交到属性封装的action的属性里
- 实现步骤
- 在action类定义属性,属性名和表单的的name属性值是一样的
- 给属性set方法(主要是提供set方法,get方法可以提供,或者不提供)
- 使用属性封装,只是将表单的数据封装到了action属性内,没有封装到JavaBean中
- action
- 表单
- action
模型驱动封装
- 使用模型驱动方式,可以直接把表单的数据封装到实体类的对象中,
- 表单中的name属性和实体类中的属性对应
-
实现步骤
- action 实现接口ModelDriven
- 实现接口里面的方法getModel方法
-
在action里面创建实体类对象
- action
- 表单
==注意==
- 不可以同时使用属性封装和模型驱动封装
- 如果同时使用了,那么只有模型驱动封装是有效的,属性封装是null
表达式封装(会用)
- 使用表达式封装可以讲表单数据封装到实体类 的对象里面
- 在action里声明实体类
- 生成实体类属性的get、set方法
- 在表单输入项的name属性值里面写表达式形式
- 表单是封装也是定义属性,提供get、set方法,所以也可以归类为属性封装
模型驱动封装和表达式封装区别
- 使用模型驱动封装和表达式封装都可以讲数据封装到实体类对象里
- 不同点:
- 使用模型驱动只能把数据封装到一个实体类对象中
- 一个action使用模型驱动,只能封装到一个对象
- 使用表达式可以将数据封装到不同的实体类对象中
- 使用模型驱动只能把数据封装到一个实体类对象中
- 实例:使用表达式封装,将表单数据封装到两个不同的实体类对象中
封装数据到list集合中
- 在action中声明list集合
- 生成list集合的set和get方法
- 在表单输入项里面写表达式
封装数据到map集合中
- 在action中声明map集合,并且提供set\get方法
- 在表单输入项里写表达式