在springmvc中配置時間轉換器java
爲何要配置日期轉換器呢?web
由於springmvc沒有內置轉換,當你提交日期格式的數據後傳到後臺後默認看成String類型的數據,就會報spring
HTTP Status 500 - Failed to convert value of type ‘java.lang.String’ to required type ‘java.util.Date’; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [java.util.Date]: no matching editors or conversion strategy foundmarkdown
1.在springmvc配置文件中配置mvc
<!-- 配置全局的日期轉化器 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="cn.itcast.core.web.CustomDateEdtor"/>
</property>
</bean>
2編寫實現類實現WebBindingInitializer接口
package cn.itcast.core.web;ide
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
/** * 日期轉換器 * @author Bertram * */
public class CustomDateEdtor implements WebBindingInitializer{
public void initBinder(WebDataBinder binder, WebRequest request) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
}