BeanUtils的populate方法之日期处理
2015-06-25 15:48
246 查看
BeanUtils.populate(Obj, Map);可以使map转对象,但是如果是Obj有个日期字段而Map中这个字段为空时候就会报错,无法赋值,这个时候就需要一个日期转换器!
首先写一个日期转换器
首先写一个日期转换器
//日期转换器 public class DateTimeConverter implements Converter{ private static final String DATE = "yyyy-MM-dd"; private static final String DATETIME = "yyyy-MM-dd HH:mm:ss"; private static final String TIMESTAMP = "yyyy-MM-dd HH:mm:ss.SSS"; @Override public Object convert(Class type, Object value) { // TODO Auto-generated method stub return toDate(type, value); } public static Object toDate(Class type, Object value) { if (value == null || "".equals(value)) return null; if (value instanceof String) { String dateValue = value.toString().trim(); int length = dateValue.length(); if (type.equals(java.util.Date.class)) { try { DateFormat formatter = null; if (length <= 10) { formatter = new SimpleDateFormat(DATE, new DateFormatSymbols(Locale.CHINA)); return formatter.parse(dateValue); } if (length <= 19) { formatter = new SimpleDateFormat(DATETIME, new DateFormatSymbols(Locale.CHINA)); return formatter.parse(dateValue); } if (length <= 23) { formatter = new SimpleDateFormat(TIMESTAMP, new DateFormatSymbols(Locale.CHINA)); return formatter.parse(dateValue); } } catch (Exception e) { e.printStackTrace(); } } } return value; } }然后再写一个通用的调用方法
public static void transMap2Bean(Map<String, Object> map, Object obj) { try { DateTimeConverter dtConverter = new DateTimeConverter(); ConvertUtilsBean convertUtilsBean = new ConvertUtilsBean(); convertUtilsBean.deregister(Date.class); convertUtilsBean.register(dtConverter, Date.class); BeanUtilsBean beanUtilsBean = new BeanUtilsBean(convertUtilsBean, new PropertyUtilsBean()); beanUtilsBean.populate(obj, map); } catch (Exception e) { } return; }
相关文章推荐
- centos下 No package 'glib-2.0' found的解决办法
- 给VM虚拟机中的CentOS Linux系统挂载U盘的方法图文教程
- ubuntu下nginx编译安装
- MediaProxy的Web监控界面及多Relay情景配置
- Linux vim查找与替换操作及快捷键
- linux下的c/c++调试器gdb
- 架构师之路(39)---IoC框架
- 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】
- Linux vim光标移动快捷键
- linux搭建svn服务
- Linux命令之grep命令使用介绍
- Linux下优秀的音频编辑软件
- nginx filter
- Linux命令之cut命令使用介绍
- apache 简单笔记
- Linux命令之awk命令使用介绍
- linux下安装PHP扩展
- Info.plist Utility Error: “Info.plist couldn't be opened because there is no such file”
- Linux命令之sed命令使用介绍
- Linux 安装JDK