BeanUtils以及request.getParameterMap()的使用
有时候,需要使用一个将一个对象重复的进行set操作,非常的浪费时间,我们可以直接将其封装成为一个Bean对象。
1.首先导入BeanUtils的jar包,它并不是jdk自带的属性,需要使用第三方的jar包。
2.新建一个WebUtils类,在里面使用BeanUtils.populate()方法,可以直接生成bean对象。
public class WebUtils {
public static <T> T copyParamBean(Map value, T bean) throws InvocationTargetException, IllegalAccessException {
System.out.println("注入之前"+bean);
BeanUtils.populate(bean,value);
System.out.println("注入之后"+bean);
return bean;
}
}
细节:这里面传递过来的是一个Map对象,为什么是Map呢?
其实通过request.getParmeterMap()方法可以获得一个Map对象,这个Map对象的键值对类型是(String key,String 【】)key是String类型,但是values值是一个String类型的数组,其实想一下也可以想通,有时候一个位置传递过来的值并不是单独的一个。
遍历输出一下;
Map map = request.getParameterMap();
for(Object key:map.keySet()){
String [] values = request.getParameterValues((String) key);
System.out.print(key+" ");
for (int j = 0;j<values.length;j++){
System.out.print(values[j]+" ");
}
System.out.println();
//System.out.println(key+" "+map.get(key));
}
图片中代表的就是Map中存入的内容。