4

我有用 Java 编写的 Web 应用程序。我正在使用BeanUtils.copyProperties方法。如果date字段为空,则会引发错误。我通过使用ConvertUtils.register方法解决了它。

ConvertUtils.register(new DateConverter(null), Date.class);

它现在可以工作,但是正确的使用方法是什么ConvertUtils.register。应该放在哪里?

4

3 回答 3

6

您所做的仅对一种类(日期)类型是正确的。这是通过调用 register 方法对所有支持的类型(包括 Date)实现的,ConvertUtilsBean如下所示:

    ConvertUtilsBean convertUtilsBean = BeanUtilsBean.getInstance().getConvertUtils();
    convertUtilsBean.register(false, true, -1);

在这里,第一个参数false意味着不抛出转换异常。第二个参数true表示,如果有异常,则使用 null 作为默认值。第三个参数-1表示数组类型将默认为空。如果要默认具有特定大小的数组,请将大小作为第三个参数。

请参阅此处的更多详细信息 (ConvertUtilsBean Javadoc)

于 2012-10-04T03:33:38.143 回答
1

一个好地方是 ServletContextListener,你只需要做一次。

未调用 ServletContextListener

于 2014-10-15T14:55:50.997 回答
0

为了在适当的地方注册您的转换器,请检查以下链接:

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

于 2013-11-19T23:19:44.660 回答