`

Springmvc 注入字符串与时间格式的转换

    博客分类:
  • java
阅读更多
以下列出两种spring支持的时间转换
-、方式一
   1、字符串转时间
   
 
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;

   2、字符串转时间亦可以,这个加载controller控制层即可
  
@InitBinder  
public void initBinder(WebDataBinder binder) {  
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");  
dateFormat.setLenient(false);  
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); 

  3、时间转字符串
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date startTime;
二、方式二(序列化)
   JsonSerialize:时间为字符串格式
   JsonDeserialize :字符串转时间
  
    @JsonSerialize(using = JsonDateSerializer$19.class)
    @JsonDeserialize(using = JsonDateDeserializer$19.class)
    private Date updateTime;

  
package com.ppfuns.mediaasset.core.common;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Component
public class JsonDateSerializer$19 extends JsonSerializer<Date> {

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

    @Override
    public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
            JsonProcessingException {
        String formattedDate = formatter.format(value);
        jgen.writeString(formattedDate);
    }
}
  

 
package com.ppfuns.mediaasset.core.common;

import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.JsonDeserializer;

import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * TODO: 字符串转时间格式为yyyy-MM-dd HH:mm:ss
 * 
 * @author jiandequn
 * @date 2014-6-24 上午10:07:19
 * @version 0.1.0 
 * @copyright yougou.com 
 */
public class JsonDateDeserializer$19 extends JsonDeserializer<Date> {

	private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

	@Override
	public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
		String str = jp.getText().trim();
		if (StringUtils.isEmpty(str)) {
			return null;
		}
		try {
			return formatter.parse(str);
		} catch (ParseException e) {
			e.printStackTrace();
			return null;
		}
	}

}
 
MAVEN依赖的包
   <dependency>
 3             <groupId>org.codehaus.jackson</groupId>
 4             <artifactId>jackson-mapper-asl</artifactId>
 5             <version>${jackson.version}</version>
 6         </dependency>
 7         <dependency>
 8             <groupId>com.fasterxml.jackson.core</groupId>
 9             <artifactId>jackson-core</artifactId>
10             <version>${jackson.core.version}</version>
11         </dependency>
12         <dependency>
13             <groupId>com.fasterxml.jackson.core</groupId>
14             <artifactId>jackson-databind</artifactId>
15             <version>${jackson.core.version}</version>
16         </dependency>
17 
18 
19 <properties>
20         <jackson.version>1.9.13</jackson.version>
21         <jackson.core.version>2.4.2</jackson.core.version>
22 </properties>

  
分享到:
评论

相关推荐

    SpringMVC讲解文档

    * 例如,定义一个将请求的日期数据串转换为 Java 中的日期类型的 Converter ConversionService * 提供了一种机制来将请求的参数转换为 Java 对象 * 可以通过注入 ConversionService 来实现自定义参数绑定

    传智播客springMVC公开课

    SpringMVC 提供了对 JSON 数据的生成功能,如使用 `@ResponseBody` 注解和 `Jackson` 库,可以将方法返回值直接转换成 JSON 字符串发送给客户端,方便前后端分离的开发模式。 **EasyUI** 是一个基于 jQuery 的 UI ...

    SpringMVC 依赖

    5. **Jackson 或 Gson**: 这些是 JSON 序列化和反序列化的库,SpringMVC 可以通过它们将 Java 对象转换成 JSON 字符串,反之亦然,以支持 RESTful API。 6. **JSTL 和 javax.servlet**: 用于处理 JSP 页面标签和与 ...

    SpringMVC课堂笔记(2)

    这样,SpringMVC就能自动将请求中的日期字符串转换为Java日期类型。 总的来说,SpringMVC通过其组件间的协作以及强大的注解支持,为开发者提供了高效且灵活的Web应用开发环境。了解这些核心概念和机制,对于深入...

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    通过`@ResponseBody`注解,SpringMVC会调用合适的`HttpMessageConverter`将Java对象转换为JSON字符串并返回给前端。 - 前端接收到响应,解析JSON数据并更新视图。 6. **配置和示例**:在MyEclipse中,你需要确保...

    springmvc王磊文档2

    例如,创建一个`Converter, Date&gt;`实现类,将字符串类型的日期转换为Java中的`Date`对象。 - 将自定义的转换器注入到处理器适配器中,以便在整个应用中统一处理这种类型的转换。 通过以上介绍,我们可以看到...

    SpringMVC的Restful风格Demo

    4. **请求参数(Request Parameters)**:除了路径变量外,还可以通过`@RequestParam`注解从URL查询字符串中获取参数。 5. **模型绑定(Model Binding)**:可以使用`@RequestBody`将请求体转换为Java对象,`@...

    SpringMVC第一天学习代码

    比如,你可能需要将一个字符串转换为自定义的日期格式。你可以实现`org.springframework.core.convert.converter.Converter`接口,然后通过`@Component`注解将该类注册到Spring容器中,最后在`...

    扩展SpringMVC以支持绑定JSON格式的请求参数

    默认情况下,Spring MVC提供了一些内置的`HttpMessageConverter`,例如`MappingJackson2HttpMessageConverter`,它使用Jackson库将JSON字符串转换为Java对象。 ```java @RequestMapping(value = "/save", method ...

    springmvc_mybatis1208

    这种方式减少了手动拼接SQL字符串的风险,同时提供了更强大的动态SQL功能。 Spring MVC与MyBatis的整合,主要体现在以下几个方面: 1. **依赖注入**:Spring的DI(Dependency Injection)特性可以帮助管理MyBatis...

    SpringMvc注解详解

    在这个例子中,`name` 参数将从请求的查询字符串中获取。 4. **@Resource 和 @Autowired** 这两个注解用于依赖注入,帮助 Spring 自动管理和装配 Bean。它们的共同点是都可以注解在字段和 setter 方法上,且在...

    SpringMVC面试专题及答案整理.pdf

    - **处理请求**:在处理AJAX请求的方法中,可以直接返回JSON对象,SpringMVC会自动将其序列化为JSON格式的字符串。 通过以上详细的介绍,我们可以看到SpringMVC不仅具有强大的功能,而且在实际开发中也非常灵活和...

    SpringMVC Spring4 Hibernate4 Freemarker项目搭建

    这种方式使开发者能专注于页面布局,而不需要关心如何拼接字符串生成HTML。 项目搭建过程中,我们需要配置这些组件,包括Web服务器(如Tomcat)、数据库(如MySQL)、以及Spring、Hibernate、Freemarker的相关库和...

    Springmvc自定义参数转换实现代码解析

    在上面的代码中,我们定义了一个 DateConveter 类,该类实现了 Converter 接口,并且将字符串类型的日期字符串转换为 Date 对象。 SpringMVC 参数绑定的方式: 1. 默认的参数绑定 Request Response Session Model...

    springmvc所需lib

    Spring MVC 支持 JSON 序列化和反序列化,使得 Java 对象可以轻松转换为 JSON 字符串,反之亦然。 在实际开发中,这些库文件的使用方式如下: - **Spring3**: - 创建 Spring 容器配置文件,定义 Bean 及其依赖...

    springMVC框架学习

    此外,SpringMVC还提供了强大的数据类型转换机制,可以将字符串自动转换成所需的类型。 6.2 **数据格式化** 使用@DateTimeFormat和@NumberFormat等注解可以方便地实现日期和数字的格式化。例如,`@DateTimeFormat...

    spring+springMVC+mysql+JSON的jar包整合

    在Java中,可以使用org.json库或com.google.gson库来处理JSON数据,将其转换为Java对象或者反序列化Java对象为JSON字符串。 在整合这些技术时,首先需要在项目中引入相应的jar包。压缩包中的lib目录很可能包含了...

    springmvc的各种jar包.zip

    例如,引入 jackson-databind.jar 可以让 Spring MVC 能够将 Java 对象转换为 JSON 字符串,反之亦然。同时,还需要在 Spring MVC 的配置中启用 HttpMessageConverter 来处理 JSON 数据。 4. **文件上传**: Spring ...

    ajax+springmvc+json

    5. **数据交换**:在控制器方法中,可以使用Java对象与JSON之间的转换库,如Jackson或Gson,将Java对象转化为JSON字符串,或者将接收到的JSON数据转化为Java对象。 6. **错误处理**:同时,还需要考虑错误处理,...

    springmvc实例

    - 返回的字符串会由 Spring MVC 转换并发送到客户端,可以是 JSON、XML 或纯文本格式,具体取决于配置和需求。 4. **配置文件**: - 为了运行这个实例,我们需要一个配置文件,比如 `servlet-context.xml`,来...

Global site tag (gtag.js) - Google Analytics