`

srping mvc 日期类型 注入Date 解决--@DatetimeFormat

阅读更多

一、时间格式注入

因为springMVC没有提供默认的日期转换器,前段页面传递过来日期字符串怎么转换为日期类型,如果没有提供全局日期转换器或者数据绑定的基础上,可以使用@DatetimeFormat注解完成

 

放在seter上

@Column(name = "BIRTHDAY", length = 10)

public Date getBirthday() {

return this.birthday;

}

@DateTimeFormat(pattern="yyyy-MM-dd")

public void setBirthday(Date birthday) {

this.birthday = birthday;

 

}

二、时间格式 输出返回json

spring mvc 默认输出json是用jackson

jackson有个注解@JsonSerialize可以放在geter上
@Column(name = "BIRTHDAY", length = 10)
@JsonSerialize(using = CustomDateSerializer.class)
public Date getBirthday() {
return this.birthday;
}
@DateTimeFormat(pattern="yyyy-MM-dd")
public void setBirthday(Date birthday) {
this.birthday = birthday;
}

自定义转化类:

转化为yyy-MM-dd

public class CustomDateSerializer extends JsonSerializer<Date> {

 

@Override

public void serialize(Date value, JsonGenerator jgen,

SerializerProvider provider) throws IOException,

JsonProcessingException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String str = sdf.format(value);

jgen.writeString(str);

}

 

 

}

转化为yyyy-MM-dd HH:mm:ss"

public class CustomDateTimeSerializer extends JsonSerializer<Date> {

 

@Override

public void serialize(Date value, JsonGenerator jgen,

SerializerProvider provider) throws IOException,

JsonProcessingException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String str = sdf.format(value);

jgen.writeString(str);

}

 

 

}

转化为毫秒数

public class CustomTimestampSerializer extends JsonSerializer<Date> {

 

@Override

public void serialize(Date value, JsonGenerator jgen,

SerializerProvider provider) throws IOException,

JsonProcessingException {

jgen.writeString(String.valueOf(value.getTime()));

}

 

 

}

分享到:
评论

相关推荐

    spring mvc3.1.0 日期自动转换

    2. 类型转换:在上述示例中,Spring MVC使用`org.springframework.core.convert.converter.Converter`接口来实现字符串到日期的转换。开发者可以自定义转换器,也可以使用Spring提供的默认转换器,如`...

    joda-time-1.6.2.jar

    在Spring MVC开发中,我们经常会遇到处理日期和时间的数据,比如从表单提交的数据自动转换为Java的`java.util.Date`类型。然而,在实际操作中,可能会遇到转换错误的问题,这通常与缺少适当的库或者配置不正确有关。...

    springboot2.0 配置时间格式化不生效问题的解决

    为了解决这个问题,你可以在自定义的`WebMvcConfigurationSupport`子类中注入一个日期转换的`Bean`。这里是一个示例: ```java @Configuration public class Configurer extends WebMvcConfigurationSupport { @...

    专题资料(2021-2022年)SpringMVC数据类型转换要点.doc

    在这个例子中,`@RequestParam`自动触发类型转换,`@DateTimeFormat`指定日期格式,从而实现了细粒度的转换和验证。 总结来说,SpringMVC在数据类型转换、验证和格式化方面提供了强大的工具和框架,极大地提高了...

    springmvc接收参数为日期类型

    本文将深入探讨如何在Spring MVC中接收日期类型的参数,以及遇到问题时如何解决。首先,我们需要理解Spring MVC处理请求参数的基本原理,然后了解日期类型的特殊性,最后会提供具体的解决方案。 一、Spring MVC请求...

    SpringMVC对日期类型的转换示例

    本篇文章将详细介绍如何在Spring MVC中进行日期类型的转换。 首先,Spring MVC提供了注解驱动的数据绑定功能,能够自动处理基本类型的数据转换。但对日期类型,它需要额外的配置。以下是一些常用的方法: 1. **...

    springmvc类型转换.md

    在Spring MVC中,可以通过`@DateTimeFormat`注解来指定日期时间字段的格式。例如: ```java import org.springframework.format.annotation.DateTimeFormat; // 假设这是控制器的一个属性 @DateTimeFormat(pattern...

    struts的form不能初始化java.util.Date类型

    - 使用框架提供的日期处理功能,比如Spring MVC的`@DateTimeFormat`注解,可以简化日期处理。 了解这些知识点后,开发者能够更好地解决在Struts中遇到的Date类型初始化问题,提高代码的健壮性和用户体验。同时,...

    qfedu三段springmvc

    - 如果日期格式不一致(例如前端发送的是`yyyy-MM-dd`而Spring默认支持的是`yyyy/MM/dd`),可以通过`@DateTimeFormat`注解指定格式来解决。 - `@DateTimeFormat`注解需要引入`joda-time`库才能正常使用。 ##### ...

    springmvc01_java_maven_idea_

    这个教程“springmvc01_java_maven_idea_”显然聚焦于使用Maven构建工具、IntelliJ IDEA集成开发环境(IDE)以及Spring MVC的参数处理和日期格式转换。下面将详细解释这些知识点。 1. **Spring MVC基础**: Spring...

    Spring Web MVC框架学习之配置Spring Web MVC

    * @DateTimeFormat格式化Date、Calendar、Long、JodaTime类型字段的支持。 * 在控制器方法上使用@Valid验证Bean的支持,如果检测到JSR-303 Bean验证的实现。 * 一组HttpMessageConverter,用于在字符串和所需Java...

    struts日期转换器

    要使用Struts的日期转换器,首先你需要在Action类中定义一个日期类型的属性,并为其添加相应的注解`@DateTimeFormat`,或者在Struts配置文件中定义一个转换器。`@DateTimeFormat`注解允许你指定日期的输入格式,这样...

    Spring MVC通过添加自定义注解格式化数据的方法

    Spring MVC的`@DateTimeFormat`可以方便地处理日期和时间格式,但有时可能无法完全满足需求。在这种情况下,我们可以自定义一个类似`@DateTimeFormat`的注解,如`@MyDateTimeFormat`,以适应更复杂的情况。 ```java...

    30 Spring Core格式化Formatter实现示例及背后原理探究慕课专栏1

    Spring MVC中,日期格式化通常由系统在启动时自动配置,我们可以使用@DateTimeFormat和@NumberFormat这两个注解来指定日期和数字的格式。例如,@DateTimeFormat(pattern="yyyy-MM-dd")用于日期,@NumberFormat...

    springmvc注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证

    Spring MVC允许我们在模型属性上使用`@DateTimeFormat`、`@NumberFormat`等注解,来指定日期、数字的格式。此外,还可以使用`MessageSource`来提供多语言支持,根据用户的选择返回相应的格式化字符串。 在控制器...

    解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题

    解决SpringMVC关于前台日期作为实体类对象参数类型转换错误的问题 在SpringMVC框架中,日期类型的参数转换是常见的问题之一。当我们在实体类中使用java.util.Date类型的属性时,可能会出现类型转换错误的问题。在...

    详解element-ui日期时间选择器的日期格式化问题

    在后台,Spring MVC默认使用SimpleDateFormat进行日期解析,所以日期格式需要与前端发送的格式一致。如果需要自定义日期格式,可以在`@RequestParam`或`@RequestBody`注解上添加`@DateTimeFormat`注解,或者在全局...

    EnableWebMvc.docx

    在类型转换方面,`@EnableWebMvc`默认提供了对`Number`和`Date`类型的支持。它使用`ConversionService`配合JavaBeanPropertyEditors进行数据绑定。这意味着你可以使用`@NumberFormat`和`@DateTimeFormat`注解来格式...

    日期js控件。java.net都适用

    例如,可以使用`Intl.DateTimeFormat` API进行日期的本地化格式化。 7. **与Java和.NET后端交互**:前端控件的数据需要与服务器进行交换。在Java中,这可能涉及到Servlet、JSP或Spring MVC等技术;在.NET中,可能是...

Global site tag (gtag.js) - Google Analytics