SpringMVC配置全局日期转换器,处理日期转换异常

SpringMVC配置全局日期转换器,处理日期转换异常

					<div> 
														 javaobject															
														 2024-08-09 18:18:59 

				</div>
									<pre>转换类:<br/>

public class DateConverter implements WebBindingInitializer {
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);

    binder.registerCustomEditor(Date.class, new CustomDateEditor(df, false));<br/>
}<br/>

}

&lt;bean class=“org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter”&gt;

&lt;!-- 日期格式转换 --&gt;<br/>
&lt;property name=&#34;webBindingInitializer&#34;&gt;<br/>
    &lt;bean class=&#34;DateConverter&#34; /&gt;<br/>
&lt;/property&gt;<br/>

&lt;/bean&gt;

&lt;bean id=“conversionService” class=“org.springframework.format.support.FormattingConversionServiceFactoryBean”&gt;

    &lt;property name=&#34;converters&#34;&gt;<br/>
        &lt;list&gt;<br/>
            &lt;bean class=&#34;com.doje.XXX.web.DateConverter&#34; /&gt;<br/>
        &lt;/list&gt;<br/>
    &lt;/property&gt;<br/>
&lt;/bean&gt;  </pre><pre>&lt;mvc:annotation-driven conversion-service=&#34;conversionService&#34; /&gt;

Java代码
public class DateConverter implements Converter&lt;String, Date&gt; {
@Override
public Date convert(String source) {

SimpleDateFormat dateFormat = new SimpleDateFormat(&#34;yyyy-MM-dd&#34;);<br/>
dateFormat.setLenient(false);<br/>
try {<br/>
    return dateFormat.parse(source);<br/>
} catch (ParseException e) {<br/>
    e.printStackTrace();<br/>
}<br/>
return null;<br/>

}

&lt;mvc:annotation-driven&gt;

&lt;!-- 处理responseBody 里面日期类型 --&gt;<br/>
    &lt;mvc:message-converters&gt;<br/>
        &lt;bean class=&#34;org.springframework.http.converter.json.MappingJackson2HttpMessageConverter&#34;&gt;<br/>
            &lt;property name=&#34;objectMapper&#34;&gt;<br/>
                &lt;bean class=&#34;com.fasterxml.jackson.databind.ObjectMapper&#34;&gt;<br/>
                    &lt;property name=&#34;dateFormat&#34;&gt;<br/>
                        &lt;bean class=&#34;java.text.SimpleDateFormat&#34;&gt;<br/>
                            &lt;constructor-arg type=&#34;java.lang.String&#34; value=&#34;yyyy-MM-dd HH:mm:ss&#34; /&gt;<br/>
                        &lt;/bean&gt;<br/>
                    &lt;/property&gt;<br/>
                &lt;/bean&gt;<br/>
            &lt;/property&gt;<br/>
        &lt;/bean&gt;<br/>
    &lt;/mvc:message-converters&gt;<br/>
&lt;/mvc:annotation-driven&gt;</pre><pre>@JsonFormat(pattern=&#34;yyyy-MM-dd&#34;,timezone = &#34;GMT+8&#34;)<br/>

public Date getBirth() {

  return birth;<br/>

}

														<div>