在實際操作中經常會碰到表單中的日期 字符串和Javabean中的日期類型的屬性自動轉換, 而springMVC默認不支持這個格式的轉換,所以必須要手動配置, 自定義數據類型的綁定才能實現這個功能。
比較簡單的可以直接應用springMVC的註解@initbinder和spring自帶的WebDataBinder類和操作。
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
還要在springMVC配置文件中加上。
<!-- 解析器註冊 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter"/>
</list>
</property>
</bean>
<!-- String類型解析器,允許直接返回String類型的消息 -->
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"/>
這樣就可以直接將上傳的日期時間字符串綁定爲日期類型的數據了。