在做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
相关文章:
建站之星安装步骤有哪些常见问题?
网站制作模板下载什么软件,ppt模板免费下载网站?
网站制作免费,什么网站能看正片电影?
建站VPS推荐:2025年高性能服务器配置指南
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
定制建站流程解析:需求评估与SEO优化功能开发指南
建站主机选购指南:核心配置优化与品牌推荐方案
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
广州建站公司哪家好?十大优质服务商推荐
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
定制建站方案优化指南:企业官网开发与建站费用解析
行程制作网站有哪些,第三方机票电子行程单怎么开?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
jQuery 常见小例汇总
官网网站制作腾讯审核要多久,联想路由器newifi官网
宿州网站制作公司兴策,安徽省低保查询网站?
如何登录建站主机?访问步骤全解析
如何用低价快速搭建高质量网站?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
建站之星备案是否影响网站上线时间?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
一键网站制作软件,义乌购一件代发流程?
建站VPS配置与SEO优化指南:关键词排名提升策略
如何通过宝塔面板实现本地网站访问?
制作网站的模板软件,网站怎么建设?
如何快速查询域名建站关键信息?
简单实现Android验证码
制作网站外包平台,自动化接单网站有哪些?
网站制作新手教程,新手建设一个网站需要注意些什么?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
大同网页,大同瑞慈医院官网?
C++如何编写函数模板?(泛型编程入门)
html制作网站的步骤有哪些,iapp如何添加网页?
实例解析angularjs的filter过滤器
建站之星免费模板:自助建站系统与智能响应式一键生成
佛山网站制作系统,佛山企业变更地址网上办理步骤?
制作网站的软件免费下载,免费制作app哪个平台好?
制作企业网站建设方案,怎样建设一个公司网站?
购物网站制作公司有哪些,哪个购物网站比较好?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
,网页ppt怎么弄成自己的ppt?
如何用PHP快速搭建高效网站?分步指南
招贴海报怎么做,什么是海报招贴?
C++如何使用std::optional?(处理可选值)
python的本地网站制作,如何创建本地站点?
如何在Golang中使用replace替换模块_指定本地或远程路径
*请认真填写需求信息,我们会在24小时内与您取得联系。