Весна 3.1 Форма привязки с List <Date> - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть объект формы

public class TestForm {
 private long id;
 private List<Date> dates;
// getters and setters for the above
}

И у моего контроллера есть следующее ..

@RequestMapping(value = "/assignDummy", method = RequestMethod.POST)
public @ResponseBody
String assignDates(TestForm frm) {
    System.out.println("frm:"+frm.getId()+", date:"+frm.getDates());
    return "Everything is fine";
}

Моя форма ..

<form name="abc" method="post" action="assignDummy.htm">
<input type="text" name="id" value="1000">
<input type="text" name="dates[0]" value="4500000">
<input type="submit">
</form>

Я получаюследующая ошибка ..

Не удалось преобразовать значение свойства типа 'java.lang.String' в требуемый тип 'java.util.Date' для свойства 'date [0]';вложенным исключением является org.springframework.core.convert.ConversionFailedException: не удалось преобразовать тип java.lang.String в тип java.util.Date для значения «4500000»;вложенное исключение - java.lang.IllegalArgumentException "

Любая помощь приветствуется. Заранее спасибо

1 Ответ

2 голосов
/ 21 февраля 2012

Вы пытаетесь поместить строку в дату без ее преобразования, поэтому она вылетает.Вы должны использовать пользовательский редактор свойств для преобразования входной строки в дату.

Попробуйте добавить в свой контроллер

 @InitBinder
    public void initBinder(WebDataBinder binder) {
        CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("MM/dd/yyyy"), true);
        binder.registerCustomEditor(Date.class, editor);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...