无法将类型为java.lang.String的属性值转换为属性fromDate所需的类型java.util.Date;

时间:2015-01-30 13:17:59

标签: java spring date spring-mvc appfuse

我需要以此格式保存日期类型(dd / mm / yyyy),目前此格式适用于我(mm / dd / yyyy)

我的jsp代码

<form:input path="fromDate" id="fromDate" />
<form:errors path="fromDate"/>

我使用日期格式的脚本为“格式:'dd / mm / yyyy'”

控制器

public ModelAndView saveOrUpdateAcademic(Academic academic,final BindingResult errors) {
String string = request.getParameter("fromDate");
System.out.println("========="+string+"=========");

try {
    if (validator != null) {
            validator.validate(academic, errors);
            if(errors.hasErrors()){
                saveError(request, getText("academic.error",academic.getAcademicYear(),locale));
                return new ModelAndView("admin/academicForm", model);   
            }
        }
 }

该字符串打印正确的格式为(“dd / mm / yyyy)

错误:

Failed to convert property value of type java.lang.String to required type java.util.Date for property fromDate; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "26/01/2015"

请帮助。

1 个答案:

答案 0 :(得分:0)

控制器的方法DateFormatter中使用initBinder

@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.addCustomFormatter(new DateFormatter("dd/MM/yyyy","academic.fromDate" ));
}