BeanUtils.copyproperties日期属性复制问题?

时间:2013-05-16 05:21:54

标签: java apache-commons-beanutils

我使用commons-beanutils 1.8.3和Date属性作为java.util.Date。

当我尝试将Source复制到目标时,它无法复制日期属性。

以下显示了我之前的问题,但没有人给我正确答案。

作为示例,我在源bean中的日期值是Wed May 15 15:46:04 IST 2013,但是BeanUtils无法将其复制到目标...

BeanUtills Date conversion Issue

3 个答案:

答案 0 :(得分:6)

这是我能够解决问题的方法。

    public static void copyProperties(Object src, Object dest) throws IllegalAccessException,
        InvocationTargetException, NoSuchMethodException {

    java.util.Date defaultValue = null;
    Converter converter = new DateConverter(defaultValue);
    BeanUtilsBean beanUtilsBean = BeanUtilsBean.getInstance();
    beanUtilsBean.getConvertUtils().register(converter, java.util.Date.class);
    BeanUtils.copyProperties(dest, src);


}

答案 1 :(得分:0)

在您的情况下,不需要使用字符串转换,因为src和dest属性具有相同的类型。这样可以正常使用

    for (Field property : attributes) {
        property.set(dest, property.get(src));
    }

答案 2 :(得分:0)

解决了cloneBean函数的问题,如:

ClassType newClazz = null;
newClazz = (ClassType) BeanUtils.cloneBean(oldClazz);