全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SpringMVC对日期类型的转换示例

在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置。

1、如果查询类使我们自己写,那么在属性前面加上@DateTimeFormat(pattern = "yyyy-MM-dd")  ,即可将String转换为Date类型,如下

@DateTimeFormat(pattern = "yyyy-MM-dd") 
private Date createTime; 

2、如果我们只负责web层的开发,就需要在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)); //true:允许输入空值,false:不能为空值

3、可以在系统中加入一个全局类型转换器

实现转换器

public class DateConverter implements Converter<String, Date> { 
@Override 
public Date convert(String source) { 
 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
 dateFormat.setLenient(false); 
 try { 
  return dateFormat.parse(source); 
 } catch (ParseException e) { 
  e.printStackTrace(); 
 }   
 return null; 
}

进行配置:

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> 
  <property name="converters"> 
   <list> 
    <bean class="com.doje.XXX.web.DateConverter" /> 
   </list> 
  </property> 
</bean> 
<mvc:annotation-driven conversion-service="conversionService" /> 

4、如果将日期类型转换为String在页面上显示,需要配合一些前端的技巧进行处理。

5、SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳。

@Component("customObjectMapper") 
public class CustomObjectMapper extends ObjectMapper { 
 
 public CustomObjectMapper() { 
  CustomSerializerFactory factory = new CustomSerializerFactory(); 
  factory.addGenericMapping(Date.class, new JsonSerializer<Date>() { 
   @Override 
   public void serialize(Date value, JsonGenerator jsonGenerator, 
     SerializerProvider provider) throws IOException, JsonProcessingException { 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    jsonGenerator.writeString(sdf.format(value)); 
   } 
  }); 
  this.setSerializerFactory(factory); 
 } 
}

配置如下:

<mvc:annotation-driven> 
 <mvc:message-converters> 
  <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> 
   <property name="objectMapper" ref="customObjectMapper"></property> 
  </bean> 
 </mvc:message-converters> 
</mvc:annotation-driven> 

6、date类型转换为json字符串时,返回的是long time值,如果需要返回指定的日期的类型的get方法上写上@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ,即可将json返回的对象为指定的类型。

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
public Date getCreateTime() { 
return this.createTime; 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# spring  # mvc  # 日期转换  # springmvc  # 日期处理  # 日期  # 如何使用SpringMVC的消息转换器设置日期格式  # 解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题  # SpringMVC中日期格式的转换  # SpringMVC用JsonSerialize日期转换方法  # SpringMVC自定义日期转换器方式  # 转换为  # 可将  # 的是  # 都是  # 使我  # 以对  # 写上  # 绑定  # 大家多多  # 为空  # bean  # true  # Converter  # implements  # DateConverter  # setLenient  # dateFormat  # SimpleDateFormat  # CustomDateEditor  # registerCustomEditor 


相关文章: 建站之星安装路径如何正确选择及配置?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何注册花生壳免费域名并搭建个人网站?  如何在阿里云域名上完成建站全流程?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  C#如何序列化对象为XML XmlSerializer用法  如何在万网自助建站平台快速创建网站?  如何在香港服务器上快速搭建免备案网站?  建站之星如何快速生成多端适配网站?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何设置并定期更换建站之星安全管理员密码?  建站之星伪静态规则如何正确配置?  如何在云指建站中生成FTP站点?  宝塔建站助手安装配置与建站模板使用全流程解析  如何在七牛云存储上搭建网站并设置自定义域名?  建站之星后台管理如何实现高效配置?  如何高效配置IIS服务器搭建网站?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  内网网站制作软件,内网的网站如何发布到外网?  建站之星如何配置系统实现高效建站?  北京网站制作网页,网站升级改版需要多久?  如何用美橙互联一键搭建多站合一网站?  如何通过服务器快速搭建网站?完整步骤解析  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  英语简历制作免费网站推荐,如何将简历翻译成英文?  简单实现Android文件上传  建站主机解析:虚拟主机配置与服务器选择指南  成都响应式网站开发,dw怎么把手机适应页面变成网页?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何设计高效校园网站?  如何在IIS中新建站点并配置端口与IP地址?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  网站网页制作专业公司,怎样制作自己的网页?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  建站之星安装步骤有哪些常见问题?  如何用西部建站助手快速创建专业网站?  建站之星如何通过成品分离优化网站效率?  怎么将XML数据可视化 D3.js加载XML  如何在万网主机上快速搭建网站?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何快速生成可下载的建站源码工具?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何快速登录WAP自助建站平台?  网站制作需要会哪些技术,建立一个网站要花费多少?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何快速配置高效服务器建站软件?  如何选择PHP开源工具快速搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。