commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "d@v1d v00" <david...@gmail.com>
Subject [beanutils] Problems with BeanUtilsBean : Convert Date to String
Date Fri, 22 Apr 2011 17:20:03 GMT
I am trying to run BeanUtilsBean.getInstance().populate(...) but on the HTML
form, there is a field that carries String representation of Date of Birth.
The object bean has the field type of java.util.Date

Read some search from Ggl that have to build custom converters but not quite
understand how to do that.

Anyone can help?

My code:

public static void main(String[] args) {

    Map<String, String[]> formData = new HashMap<String, String[]>();

    formData.put("email", new String[]{"danny@gmail.com"});

    formData.put("firstName", new String[]{"danny"});

    formData.put("lastName", new String[]{"miller"});

    formData.put("dob", new String[]{"15-Apr-1980"});

    formData.put("userName", new String[]{"dannymiller"});

    try {
        Consumer consumer = new Consumer();

        DateTimeConverter dtConverter = new DateConverter();

        dtConverter.setPattern("dd/MMM/yyyy");

        ConvertUtilsBean convertUtilsBean = new ConvertUtilsBean();

        convertUtilsBean.deregister(Date.class);

        convertUtilsBean.register(dtConverter, Date.class);

        BeanUtilsBean beanUtilsBean = new
BeanUtilsBean(convertUtilsBean, new PropertyUtilsBean());

        beanUtilsBean.populate(consumer, formData);


        if (consumer != null) {

            System.out.println(consumer.getEmail());

            System.out.println(consumer.getFirstName());

            System.out.println(consumer.getLastName());

            System.out.println(consumer.getDob());

            System.out.println(consumer.getUserName());

        }
    } catch  (Exception e) {

        e.printStackTrace();
    }
}

The return error:

Apr 22, 2011 11:14:45 PM
org.apache.commons.beanutils.converters.DateTimeConverter toDate WARNING:
DateConverter does not support default String to 'Date' conversion. Apr 22,
2011 11:14:45 PM org.apache.commons.beanutils.converters.DateTimeConverter
toDate WARNING: (N.B. Re-configure Converter or use alternative
implementation) Exception in thread "main"
org.apache.commons.beanutils.ConversionException: DateConverter does not
support default String to 'Date' conversion. at
org.apache.commons.beanutils.converters.DateTimeConverter.toDate(DateTimeConverter.java:468)
at
org.apache.commons.beanutils.converters.DateTimeConverter.convertToType(DateTimeConverter.java:343)
at
org.apache.commons.beanutils.converters.AbstractConverter.convert(AbstractConverter.java:156)
at
org.apache.commons.beanutils.converters.ConverterFacade.convert(ConverterFacade.java:60)
at
org.apache.commons.beanutils.ConvertUtilsBean.convert(ConvertUtilsBean.java:470)
at
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1008)
at
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
at com.ymatch.test.BeanTest.main(BeanTest.java:32)

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message