菜鸟学院
struts2封装表单数据
时间 2021-01-03
原始方式封装
属性封装
直接把表单提交到属性封装的action的属性里
实现步骤
在action类定义属性,属性名和表单的的name属性值是一样的
给属性set方法(主要是提供set方法,get方法可以提供,或者不提供)
使用属性封装,只是将表单的数据封装到了action属性内,没有封装到JavaBean中
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方法
在表单输入项里写表达式