欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springmvc日期转换两种方式

程序员文章站 2022-05-24 11:39:06
...
如果不做特殊处理,springmvc是无法直接将前端输入的日期字符串转化为java.util.Date类型的。下面是两种配置springmvc可以将前端输入的日期字符串转化为java.util.Date类型的方式。

一、当前类有效
package cn.smallbug.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;

//<1> 实现WebBindingInitializer接口
@Controller
@Scope("prototype")
public class CustomDateEdtor implements WebBindingInitializer {

	// <2> 实现 initBinder 方法,添加@InitBinder注解
	@InitBinder
	public void initBinder(WebDataBinder binder, WebRequest request) {
		// <3> 定义转换格式
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		//true代表允许输入值为空
		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
	}

}



二、全局有效

创建CustomDateEdtor类:
package cn.smallbug.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;

//<1> 实现WebBindingInitializer接口
public class CustomDateEdtor implements WebBindingInitializer {

	// <2> 实现 initBinder 方法
	@Override
	public void initBinder(WebDataBinder binder, WebRequest request) {
		// <3> 定义转换格式
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		//true代表允许输入值为空
		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
	}

}

在spingmvc.xml文件中配置如下代码:
<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="webBindingInitializer">
			<bean class="cn.smallbug.core.web.CustomDateEdtor" />
		</property>
	</bean>

重启服务器生效。
相关标签: spingmvc java