自定义org.apache.commons.beanutils的类型转换器
来源:互联网 发布:python中文注释报错 编辑:程序博客网 时间:2024/06/05 08:35
在使用org.apache.commons.Beanutils的populate方法时,需要将yyyy-MM-dd格式的字符串转换成java.util.Date,但是org.apache.commons.Beanutils的默认转换器只能将字符串转换成java.sql.Date,详见:org.apache.commons.beanutils.converters.DateTimeConverter的源码,我们可以自定义Convert对象:
import org.apache.commons.beanutils.Converter; public class DateConvert implements Converter{ public Object convert(Class arg0, Object arg1) { String p = (String)arg1; if(p== null || p.trim().length()==0){ return null; } try{ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); return df.parse(p.trim()); } catch(Exception e){ return null; } } }
自定义对象转换类的使用:
在使用之前先注册
ConvertUtils.register(new DateConvert(), java.util.Date.class);
因为要注册converter,所以不能再使用BeanUtils的静态方法了,必须创建BeanUtilsBean实例
BeanUtilsBean beanUtils = new BeanUtilsBean(convertUtils,new PropertyUtilsBean());
beanUtils.setProperty(bean, name, value);
项目开发案例:
/**
* 设置Struts 中数字<->字符串转换,字符串为空值时,数字默认为null,而不是0.
* 也可以在web.xml中设置struts的参数达到相同效果,在这里设置可以防止用户漏设web.xml.
*/
DateConverter:
import java.text.SimpleDateFormat;import org.apache.commons.beanutils.Converter;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * 简易DateConverter. * 供Apache BeanUtils 做转换,默认时间格式为yyyy-MM-dd,可由构造函数改变. * * @author calvin */public class DateConverter implements Converter {private static final Log log = LogFactory.getLog(DateConverter.class);private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");public DateConverter(String formatPattern) {if (StringUtils.isNotBlank(formatPattern)) {format = new SimpleDateFormat(formatPattern);}}public Object convert(Class arg0, Object value) {try {String dateStr = (String) value;if (StringUtils.isNotBlank(dateStr)) {return format.parse(dateStr);}} catch (Exception e) {log.error(e.getMessage(), e);}return null;}}
0 0
- 自定义org.apache.commons.beanutils的类型转换器
- 自定义org.apache.commons.beanutils的类型转换器
- apache.commons.beanutils转换器的使用
- org.apache.commons.beanutils.BeanUtils
- org.apache.commons.beanutils.BeanUtils;
- BeanUtils--org.apache.commons.beanutils.BeanUtils
- org.apache.commons.beanutils.BeanUtils包的具体用法
- com.sun.org.apache.commons.beanutils.BeanUtils的用法简介
- 对于 org.apache.commons.beanutils.BeanUtils 的一些学习
- org.apache.commons.beanutils.ConversionException:
- org.apache.commons.beanutils.DynaBean
- org/apache/commons/beanutils/Converter
- org.apache.commons.beanutils.DynaBean
- org.apache.commons.beanutils.BeanUtils 简介
- org.apache.commons.beanutils.BeanUtils 简介
- org.apache.commons.beanutils.BeanUtils用法
- org.apache.commons.beanutils.BeanUtils 简介
- org.apache.commons.beanutils.BeanUtils使用示例
- Java连接SQL Server 2012
- 子集和问题
- 人生的际遇,请,未必会来;躲,未必能免
- 线程学习一
- 文字淡出效果
- 自定义org.apache.commons.beanutils的类型转换器
- uva 11729 Commando War(贪心算法)
- (转载)linux命令之四十五crontab命令
- 滤波电容、去耦电容、旁路电容作用及区别
- uva10562 - Undraw the Trees 入门经典II 第六章数据结构基础 例题6-17
- CentOS开机自动运行程序的脚本
- apache访问根目录 配置作用域
- Objective-C的内存管理MRC与ARC
- md5 的16位32位加密