当后端实体类中的属性为Date类型的数据接收前端传过来的数据为空字符串时,可能会报错(Failed to convert property value of type ‘java.lang.String’ to required type ‘java.util.Date’):

此时在不改变接收数据的实体类的情况下可以在控制层(Controller层)里添加如下代码:

@InitBinderprotected void initDateFormatBinder(WebDataBinder binder) {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));//CustomDateEditor第二个参数传true表示运行传空字符串}

@InitBinder注解:
在使用SpringMVC框架的项目中,经常会出现遇到某些数据类型是Date、Integer、Double等的数据要绑定到控制器的实体,或者控制器需要接受这些数据,如果这类数据不做处理的话将无法绑定。
这里我们可以使用注解@InitBinder来解决这些问题,这样SpringMVC在绑定表单之前,都会先注册这些编译器。一般会将这些方法写在BaseController中,需要进行这类转换的控制器只需要继承BaseController即可。其实Spring提供了很多的实现类,如CustomDateEditor、CustomBooleanEditor、CustomNumberEditor等,基本上是够用的。

参考:
1、
https://blog.51cto.com/u_15704340/5442145
2、https://wenku.baidu.com/view/c6a61078383567ec102de2bd960590c69fc3d840.html?fr=sogou&wkts=1670480960708

Date类型接收空字符串(@InitBinder注解实现)相关推荐

  1. 前台传String日期格式后台用Date类型接收

    在接收实体的这个字段上添加注解 @DateTimeFormat(pattern = "yyyy-MM-dd") 是后台date传到前台展示时可以帮你转成String @JsonFo ...

  2. 从Date类型转为中文字符串

    //主方法public static String DateToCh(Date date) {Calendar cal = Calendar.getInstance();cal.setTime(dat ...

  3. python string转date类型_python转换字符串为datetime类型

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. python中通过日期转换函数把字符串格式的日期转换成datetime格式的日期格式 ti ...

  4. Springboot后台接收前端Date类型

    From: https://my.oschina.net/zicheng/blog/2963117 这个问题不是专门针对Springboot的,Springmvc也同样适用于这一个问题. 昨的是Spr ...

  5. Java中时间戳和Date类型以及字符串日期的相互转换

    因为工作或学习时总是忘记这几个时间类型之间的相互转化方式,因此此博客作为一个日常笔记记录一下这三者之间转化的方式,好方便今后学习和工作使用. Date类型转化为字符串日期 测试代码块 // 示例打印当 ...

  6. oracle date 转换 timestamp,Oracle timestamp类型转换成date类型

    今天需要根据时间判断,统一修改某一个字段的数据.然后打开数据库发现,时间类型为timestamp类型.如下: 然后呢,这对我不是喝口水就可以解决的问题吗? 解决方案如下:我需要改这张表某个字段的内容, ...

  7. springboot前端传参date类型后台处理方式

    springboot前端传参date类型后台处理方式 先说结论:建议大家直接使用@JsonFormat,原因如下: 1.针对json格式:在配置文件中加以下配置 spring.jackson.date ...

  8. Thymeleaf模板引擎处理日期输入框回显问题type=“date“类型的坑 和 单选按钮、复选框的回显

    type="date"类型的日期输入框的默认格式为"yyyy/MM/dd",但是如果使用Thymeleaf的日期格式化工具类的时候使用"yyyy/MM ...

  9. 详解mysql NULL和 IS NOT NULL以及空字符串

    1.NULL 和 空字符串的区别 "NULL"   表示的是一种数据类型,表示未知 "      "     空字符串的数据类型是字符串,只是这个字符串比较特殊 ...

最新文章

  1. 数据结构-图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析
  2. 怎么在同一页中分页_分库分表业界难题,跨库分页的几种常见方案
  3. 浅谈css3长度单位rem,以及移动端布局技巧
  4. 蓝桥杯 BASIC-17 基础练习 矩阵乘法
  5. centos7 安装 nvm
  6. 无敌大奉献:iOS技术开发知识整理
  7. jdbc连接mysql数据库 工作流程_jdbc连接数据库流程图
  8. PAT A1007 动态规划
  9. GIS设备局部放电在线监测的研究设计报告
  10. 透视相机(PerspectiveCamera)
  11. 中英文代码对比之ZLOGO 4 LOGO
  12. U盘重装Win10系统教程
  13. numeric scale mysql_mysqldecimal、numeric数据类型
  14. 中铁成本2.0系统服务器地址,中国中铁项目成本管理信息系统V2.0(电化版)操作手册.docx...
  15. ajax请求 下载zip压缩包
  16. java 字数_java 字数统计
  17. Glide使用详解(一)
  18. java.lang.IllegalArgumentException异常
  19. 如何用django来创建一个网站
  20. freemarker 页面静态化技术

热门文章

  1. Java 引用变量和实体变量
  2. datagridview 单击某个单元格选中一行
  3. 906.nethogs安装使用
  4. Layui数据表格隔行变色的两种方法
  5. for循环实现的一些例子
  6. 字符串逆序输出c语言,5、输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。...
  7. 学习大数据要掌握哪些语言?哪些必备知识和技能呢?
  8. OLE程序开发利用(开发EXCEL)
  9. 三、数据特性计算(含信道通讯计算、码元速率计算、尼奎斯特定理、香农定理以及相应的练习题)——网络工程师成长之路
  10. 编写一个移动的游戏背景(含素材视频教程)