错误:无法将类型java.lang.String的属性值转换为属性dob所需的类型java.util.Date?

时间:2015-02-26 09:13:18

标签: java spring google-chrome spring-mvc

我正在尝试使用简单的Spring-MVC应用程序进行表单验证。我从浏览器获取日期输入时遇到问题。错误是:

"Failed to convert property value of type java.lang.String to required type java.util.Date for property dob; 
nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "2015-12-25"

此问题我只在Google Chrome浏览器中遇到。在Internet Explorer和eclipse界面它的工作正常。我使用的是Chrome-40.0.2214.115m。

我在这里分享我的部分代码:

来自Controller文件:

...
@InitBinder     
public void initBinder(WebDataBinder binder){
     SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
     binder.registerCustomEditor(Date.class,new CustomDateEditor(dateFormat, false));   
}
...

来自JSP文件:

...
<tr>
<td><label for="dob">DOB</label></td>
<td><input type="date" name="dob" /></td>
<td><form:errors path="person1.dob" /></td>
</tr>
...

如果浏览器兼容性有问题,那么它的解决方案是什么?请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

输入标记日期格式始终类似于 YYYY-MM-DD 。因此,使用此SimpleDateFormat格式化为yyyy-MM-dd时,请更改格式模式。

所以试试这个

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");