使用 Commons beanUtils 我想知道如何让任何转换器说 Dateconverter 忽略空值并使用 null 作为默认值。例如,考虑一个公共课程,
public class X {
private Date date1;
private String string1;
//add public getters and setters
}
和我的转换器测试,
public class Apache {
@Test
public void testSimple() throws Exception {
X x1 = new X(), x2 = new X();
x1.setString1("X");
x1.setDate1(null);
org.apache.commons.beanutils.BeanUtils.copyProperties(x2, x1);
//throws ConversionException
System.out.println(x2.getString1());
System.out.println(x2.getDate1());
}
}
由于日期恰好为空,因此上述内容会引发 NPE。这在我看来是一个非常原始的场景,应该默认处理(如,我希望 x2 对 date1 具有空值)。doco 告诉我,我可以要求转换器执行此操作。有人可以指出我这样做的最佳方法吗?
我不想让转换器和 isUseDefault() 为真,因为我必须为所有日期、枚举和许多其他转换器做这件事!