1.在封装前写一个转换器,在转换器中将字符床转换为Date,BeanUtil就会自己调用该转换器,代码如下
Map<String, String[]> parameterMap = request.getParameterMap();
User user = new User();
try {
//beanutil无法封装Date类型,需要注册一个转换器将字符串转换成Date对象
ConvertUtils.register(new Converter() {
@Override
public Object convert(Class clazz, Object value) {
//clazz是目的对象的字节码对象,value是要转换的对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date parse = null;
try {
parse = sdf.parse(value.toString());//将格式为yyyy-MM-dd转换为Date类型
} catch (ParseException e) {
e.printStackTrace();
}
return parse;
}
},Date.class);
BeanUtils.populate(user, parameterMap);//将注册信息封装到user,当封装到Date类型时会自动调用上面写好的转换器