利用BeanUtils工具类封装表单数据

时间:2023-02-09 20:49:37

一、BeanUtils工具类的使用

  1、首先导入BeanUtils工具类的jar包

        commons-beanutils-1.8.0.jar

        commons-logging-1.1.1.jar

  2、setPropertity(Object bean,String name,Object value)方法

      作用:为实体类bean的name属性设置属性值value(属性值为Object类型,可以以其他类型的对象为值)

  3、populate(Object bean,Map properties)方法

      作用:将map中的键值对,赋值给实体类bean的对应属性

         populate封装对象时,实际上是调用了该对象所属类的set方法,因此页面表单内元素的name属性值一定要与实体类中的属性名一致,

         也就是与set方法中去掉set,并将剩下字符串的首字母小写的到的字符串一致

二、自定义类封装表单数据

  步骤:

    1、通过request.getParameterMap()方法,获取存储表单数据的map

    2、通过BeanUtils工具类的populate(t,map)方法,给实体类对象赋值

    3、返回实体类对象

  代码:

 public class WEBUtils {
public static <T>T populateObject(HttpServletRequest request,T t){
Map<String, String[]> map = request.getParameterMap();
System.out.println(map);
try {
BeanUtils.populate(t, map);
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
}

注意:为了使自定义的工具类适用于所有实体类,我们将方法的参数设置为泛型,根据调用者传递的实体类对象和请求参数封装表单数据