我有用 Java 编写的 Web 应用程序。我正在使用BeanUtils.copyProperties
方法。如果date
字段为空,则会引发错误。我通过使用ConvertUtils.register
方法解决了它。
ConvertUtils.register(new DateConverter(null), Date.class);
它现在可以工作,但是正确的使用方法是什么ConvertUtils.register
。应该放在哪里?
我有用 Java 编写的 Web 应用程序。我正在使用BeanUtils.copyProperties
方法。如果date
字段为空,则会引发错误。我通过使用ConvertUtils.register
方法解决了它。
ConvertUtils.register(new DateConverter(null), Date.class);
它现在可以工作,但是正确的使用方法是什么ConvertUtils.register
。应该放在哪里?
您所做的仅对一种类(日期)类型是正确的。这是通过调用 register 方法对所有支持的类型(包括 Date)实现的,ConvertUtilsBean
如下所示:
ConvertUtilsBean convertUtilsBean = BeanUtilsBean.getInstance().getConvertUtils();
convertUtilsBean.register(false, true, -1);
在这里,第一个参数false
意味着不抛出转换异常。第二个参数true
表示,如果有异常,则使用 null 作为默认值。第三个参数-1
表示数组类型将默认为空。如果要默认具有特定大小的数组,请将大小作为第三个参数。
一个好地方是 ServletContextListener,你只需要做一次。
为了在适当的地方注册您的转换器,请检查以下链接:
http://www.coderanch.com/t/459630/Struts/Apache-Commons-Custom-Converter-Implementation http://mail-archives.apache.org/mod_mbox/struts-user/200303.mbox/%3COE27foV1qdiixjnzi950001205d@ hotmail.com%3E