赞
踩
早上在使用mybatis做修改操作时候出现了这个异常:
ConversionException :DateConverter does not support default String to ‘Date’ conversion.
因为我的bean类中使用了Date属性
很明显这就是 beanutils 工具类无法将字符串转换为 Date(java.util.Date)
这里采用自己实现的方式,下面是工具类的实现:
//把map中的值注入到对应的JavaBean属性中 public static <T> T copyParamToBean(Map value, T bean){ try { System.out.println("注入之前" + bean); ConvertUtils.register(new Converter() { @Override public Object convert(Class arg0, Object arg1) { if(arg1 == null){ return null; } if(!(arg1 instanceof String)){ throw new ConversionException("只支持字符串转换!"); } String str = (String)arg1; if(str.trim().equals("")) return null; SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); try { return sd.parse(str); }catch (ParseException e){ throw new RuntimeException(e); } } }, java.util.Date.class); /** * 把所有请求的参数都注入到对象中 */ BeanUtils.populate(bean, value); System.out.println("注入之后" + bean); } catch (Exception e) { e.printStackTrace(); } return bean; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。