使用Spring MVC,JSR 303 Annotation将表单绑定到bean时出现异常

时间:2014-07-25 04:07:01

标签: java spring spring-mvc bean-validation datetime-format

我有一个以下弹簧形式:我的jsp中的输入标签接受日期。

<form:input type="text" id="fromDate" path="fromDate" />

我有一个相应的Java bean将用户输入的日期绑定到bean的fromDate属性。

@NotNull
@Past
@DateTimeFormat(pattern = "MM/dd/yyyy")
private Date fromDate;

当用户在&#34; MM / dd / yyyy&#34;中输入日期时格式我没有得到任何异常,并且值正确地设置为bean变量。

但是,当用户以不同的格式(例如:2012年12月23日)或无效日期(例如:060412009324092014)输入日期时,我收到以下异常。

无法将类型为java.lang.String的属性值转换为属性fromDate所需的类型java.util.Date;嵌套异常是org.springframework.core.convert.ConversionFailedException:无法从类型java.lang.String转换为类型@javax.validation.constraints.NotNull @ javax.validation.constraints.Past @ org.springframework.format.annotation。 DateTimeFormat java.util.Date for value 060412009324092014;嵌套异常是java.lang.IllegalArgumentException:无法解析060412009324092014

请帮助在页面上显示有效消息而不是例外。

由于 麦克

1 个答案:

答案 0 :(得分:2)

我能够通过拥有以下属性来解决问题。

typeMismatch.bean.fromDate =从日期开始无效!

由于 标记