一、struts2的请求参数封装,有三种方式。
分别是:
属性驱动:
有实体类
没有实体类
模型驱动
二、模型驱动的使用要求:
1、动作类必须实现ModelDriven接口,该接口有一个泛型,提供的实体类对象
2、在动作类中提供模型对象的定义,并且必须实例化。
3、提供接口中抽象方法的实现,并返回模型
三、细节:
1、表单只能提供3种数据类型:String String[] File
2、struts2默认为我们转换的数据类型:
a、基本类型自动转接
b、日期按照本地格式转换。本地格式:yyyy-MM-dd 非本地格式MM/dd/yyyy
c、字符串数组按照逗号+空格拼接成字符串。
3、struts2的三种封装方式都是一个叫做params拦截器来做的。
4、明确封装的规则只有一种:在指定的位置中找set方法,找表单元素的Name属性取值对应的set方法
四、应用场景:
在实际开发中,能用模型驱动的时候,一般不用属性驱动
五、模型驱动的局限:
它在同一时间只能返回一个模型对象。
模型驱动可以和属性驱动在一个动作类中组合使用,因为我们要灵活云运用。