`

springmvc日期转换两种方式

阅读更多
如果不做特殊处理,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>

重启服务器生效。
分享到:
评论

相关推荐

    SpringMVC中日期格式的转换

    -- 配置日期转换器 --&gt; &lt;bean class="cn.rodge.ssm.converter.DateConverter"&gt;&lt;/bean&gt; ``` 方法二:通过自定义webBinder配置 ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns...

    SpringMVC数据绑定及数据类型转换

    **数据绑定**是SpringMVC中的一种机制,允许我们将用户通过表单或其他方式提交的请求参数自动绑定到控制器中的方法参数或者模型对象的属性上。这种绑定过程极大地简化了开发者的工作,无需手动从请求中获取每个参数...

    springmvc中json转换的jar

    Jackson库的强大功能不仅限于基本的对象转换,还包括处理日期时间、泛型、枚举、自定义类型等复杂场景,以及支持JSON Schema、流式处理等高级特性。 总结来说,`jackson-core-asl.jar`和`Jackson-mapper-asl.jar`在...

    SpringMVC 传日期参数到后台的实例讲解

    在 SpringMVC 中,有两种方式可以实现日期参数的传递,一种是使用注解的方式,另一种是使用类型转换的方式。 使用注解的方式 在使用注解的方式中,我们需要在 Controller 层中使用 `@InitBinder` 注解来实现日期...

    springMVC返回json数据需要的两个架包

    在Spring MVC框架中,开发Web应用时经常需要与前端交互,传输数据的方式多种多样,其中JSON是最常用的一种。JSON(JavaScript Object Notation)格式轻量级、易读易写,适用于网络传输。为了使Spring MVC能够顺利地...

    扩展SpringMVC以支持更精准的数据绑定1

    为了实现更精准的数据绑定,我们需要扩展Spring MVC的内置机制,主要通过以下两种方式: 1. **自定义类型转换器(Custom Converter)**:当我们需要对特定类型的参数进行特殊处理时,可以创建自定义的`Converter`类...

    SpringMVC参数绑定

    对于特殊数据类型,如日期类型,如果前端发送的日期格式与SpringMVC默认支持的格式不符,可以采用两种方式解决:一是前端调整日期格式为SpringMVC支持的格式,例如从"yyyy-MM-dd"改为"yyyy/MM/dd";二是后端在对应的...

    springmvc操作json数据所需的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何操作JSON数据以及所需的jar包。 首先,我们需要引入支持JSON处理...

    springMVC框架学习

    forward和redirect是SpringMVC中两种不同的页面跳转方式。forward是在服务器端内部跳转,不会改变浏览器地址栏的内容;redirect则是发送一个新的HTTP请求,通常用于重定向到另一个资源。 5.2 **使用@PathVariable...

    springmvc返回json用到的jar包

    - 默认情况下,Jackson可能会将日期转换为不友好的ISO-8601格式。若需要自定义日期格式,可以使用`@JsonFormat`注解或全局配置`ObjectMapper`。 7. **错误处理**: - 当JSON序列化或反序列化过程中出现错误时,...

    springmvc fastjson 反序列化时间格式化方法(推荐)

    通过这种方式,Fastjson在反序列化时会根据注解中的`format`属性将日期转换为我们指定的格式`yyyy-MM-dd HH:mm:ss`。 ### 方法二:自定义FastjsonHttpMessageConverter 第二种情况涉及到前端接收到的响应时间格式...

    SpringMVC数据格式化.docx

    `Converter` 和 `Formatter` 是Spring MVC提供的两种工具,它们允许我们自定义类型转换,以满足特定的数据格式要求。 `Converter` 是用于在任何 `Object` 类型之间进行转换的,而 `Formatter` 更专注于`String`到`...

    图书管理简单实现springmvc+mbaits文档

    - **SpringMVC配置**:通过`springmvc-config.xml`文件配置SpringMVC的相关设置,如组件扫描、消息转换器等。 ##### 4.2 系统前台界面设计 - **登录界面**:为管理员和普通用户提供登录入口。 - **主界面**:展示...

    springmvc第二天课堂笔记.docx

    在 Spring MVC 中使用 View 对象表示视图,视图是一种数据展示的方式,没有业务逻辑。 六、注解开发 注解开发是 Spring MVC 框架中的一个重要特性,使用注解方式的处理器映射器和适配器可以简化配置。使用 @...

    springmvc自定义属性编辑器和参数解析器

    属性编辑器(PropertyEditor)是Java Bean规范的一部分,它允许我们在程序中将一种类型的数据转换为另一种类型。在Spring MVC中,当控制器方法接收请求参数时,如果请求参数与方法参数类型不匹配,Spring会尝试使用...

    解决SpringMVC 返回Java8 时间JSON数据的格式化问题处理

    本文将详细介绍两种解决Spring MVC返回Java 8日期时间JSON数据格式化问题的方法。 **解决方法一:使用Jackson-datatype-jsr310库** 首先,我们需要引入`jackson-datatype-jsr310`这个依赖库。在Maven项目的`pom....

    springmvc 中文手册详细带书签.pdf

    Spring的核心特性之一是依赖注入(DI)和控制反转(IoC),这两个概念通常是等价的。依赖注入是一种设计模式,其作用是实现控制反转,它将创建对象的过程交给外部容器来控制,从而实现了解耦。 Spring框架中还有多...

    SpringMVC之DataBinding和Validation--Validator,PropertyEditor,Converter,Formatter

    在Java世界中,Bean Validation(JSR 303/349)提供了一种标准的方式来验证对象的属性。Spring MVC通过集成Hibernate Validator(Bean Validation的实现),使得我们可以方便地对请求数据进行验证。我们可以在模型类...

    spring mvc框架

    9. **Conversion and Validation**:Spring MVC提供了自动类型转换和数据验证的功能,如使用`@DateTimeFormat`进行日期格式化,`@Valid`进行数据校验。 10. **AOP(面向切面编程)**:Spring MVC可以与Spring的AOP...

    SSM框架json使用jackson

    SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的一种技术栈。在SSM中处理JSON数据时,Jackson库扮演了至关重要的角色。Jackson是Java的一个高性能的JSON处理器,它提供了解析、生成、...

Global site tag (gtag.js) - Google Analytics