SpringMVC项目如何全局格式化日期格式

SpringMVC项目如何全局格式日期格式

在我们平时的开发工作中,经常会遇到各种格式的日期类型,为了后端开发方便性,日期类型我们一般不做处理,都保持原有Date类型不变。但是保持了后端方便的同时,却对前端的日期处理产生了一定的难度,因为日期格式不一样,呈现到前端的数据形式也会不一样,而且互联网项目的页面展示窗口比较多,如果分别在单独的页面来重复进行日期格式的格式化,那么无疑是对工作效率的一种浪费。因此我们需要一种将前后端完全隔离,统一格式化后台的Date类型的数据并展现在前端的需要,那么spring的RequestMappingHandlerAdapter中的messageConverters就能够完全满足我们的需求。我们怎么做呢?

具体做法如下:

  • -第一步 导入 所需要的jar包,gradle资源如下所列,maven用户自己转一下就行。
		compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'
		compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
		compile 'com.fasterxml.jackson.core:jackson-core:2.4.2'
		compile 'com.fasterxml.jackson.core:jackson-databind:2.4.2'
  • 第二步 接着 配置spring-servlet

      - 引入请求映射器
     		org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
      - 加入消息转化器
     		 messageConverters
      - 引入Json转化器
     		 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 
      - 实现对象转化器
     		 objectMapper
      - 日期转换格式定义
     		 dateFormat
    

    配置代码如下:


		 
			
				
					
				
			
		
		
			
				
				
					
						
							
								
									
								
							
							
								
								NON_NULL
							
						
					
					
						
							text/html;charset=UTF-8
							text/plain;charset=UTF-8
							text/json;charset=UTF-8
							application/json;charset=UTF-8
						
					
				

			
		
	

至此,各项准备工作就完成了。
启动你的项目,所有的@RestController和@ResponseBody响应资源都会自动将Java对象里面的Date类型转化为你constructor-arg的参数定义的模板形式。

如下图结果:
SpringMVC项目如何全局格式化日期格式_第1张图片
SpringMVC项目如何全局格式化日期格式_第2张图片

最后强调一点,使用 MappingJackson2HttpMessageConverter转化对象不能转化Null对象,所以在处理的时候要特别注意以下,避免空对象参与转化。否则会报错,如果后续有改进的方法,我会添加到这里。

分享,记录。温故知新,点滴珍贵。

你可能感兴趣的:(架构,算法,Java,Springmvc)