在springmvc中配置时间转换器
为什么要配置日期转换器呢?
因为springmvc没有内置转换,当你提交日期格式的数据后传到后台后默认当作String类型的数据,就会报
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 found
1.在springmvc配置文件中配置
<!-- 配置全局的日期转化器 -->
<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;
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));
}
}