在进行反射机制来将request获取到的参数map与对应的bean类的属性赋值时
导入了:这两个包
commons-beanutils-1.9.4.jar commons-logging-1.2.jar
老老实实的用这个,完全没问题
//封装对象,并返回
//1、获取所有声明的属性
Field[] fields = t.getClass().getDeclaredFields();
//2、每个属性所有的name值,属性名
for (Field field : fields) {
//获取属性名
String name = field.getName();
//在requset中获取相应的属性值
String value = request.getParameter(name);
try {
BeanUtils.setProperty(t, name, value);
} catch (Exception e) {
e.printStackTrace();
}
}
但要使用包里面直接自己对应的populate方法就报错
Map map = request.getParameterMap();
try {
BeanUtils.populate(t, map);
} catch (Exception e) {
e.printStackTrace();
}
java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0 java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap
解决方法:
再导入一个包commons-collections-3.2.2.jar
下载地址
下载再解压后就有一个jar包,导入重启服务器OK解决