我正在尝试使用简单的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>
...
如果浏览器兼容性有问题,那么它的解决方案是什么?请帮我解决这个问题。
答案 0 :(得分:3)
输入标记日期格式始终类似于 YYYY-MM-DD
。因此,使用此SimpleDateFormat
格式化为yyyy-MM-dd
时,请更改格式模式。
所以试试这个
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");