利用BeanUtils工具类封装表单数据
一、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、返回实体类对象
代码:
1 public class WEBUtils { 2 public static <T>T populateObject(HttpServletRequest request,T t){ 3 Map<String, String[]> map = request.getParameterMap(); 4 System.out.println(map); 5 try { 6 BeanUtils.populate(t, map); 7 } catch (Exception e) { 8 e.printStackTrace(); 9 } 10 return t; 11 } 12 }
注意:为了使自定义的工具类适用于所有实体类,我们将方法的参数设置为泛型,根据调用者传递的实体类对象和请求参数封装表单数据