Date类型接收空字符串(@InitBinder注解实现)
当后端实体类中的属性为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注解实现)相关推荐
- 前台传String日期格式后台用Date类型接收
在接收实体的这个字段上添加注解 @DateTimeFormat(pattern = "yyyy-MM-dd") 是后台date传到前台展示时可以帮你转成String @JsonFo ...
- 从Date类型转为中文字符串
//主方法public static String DateToCh(Date date) {Calendar cal = Calendar.getInstance();cal.setTime(dat ...
- python string转date类型_python转换字符串为datetime类型
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. python中通过日期转换函数把字符串格式的日期转换成datetime格式的日期格式 ti ...
- Springboot后台接收前端Date类型
From: https://my.oschina.net/zicheng/blog/2963117 这个问题不是专门针对Springboot的,Springmvc也同样适用于这一个问题. 昨的是Spr ...
- Java中时间戳和Date类型以及字符串日期的相互转换
因为工作或学习时总是忘记这几个时间类型之间的相互转化方式,因此此博客作为一个日常笔记记录一下这三者之间转化的方式,好方便今后学习和工作使用. Date类型转化为字符串日期 测试代码块 // 示例打印当 ...
- oracle date 转换 timestamp,Oracle timestamp类型转换成date类型
今天需要根据时间判断,统一修改某一个字段的数据.然后打开数据库发现,时间类型为timestamp类型.如下: 然后呢,这对我不是喝口水就可以解决的问题吗? 解决方案如下:我需要改这张表某个字段的内容, ...
- springboot前端传参date类型后台处理方式
springboot前端传参date类型后台处理方式 先说结论:建议大家直接使用@JsonFormat,原因如下: 1.针对json格式:在配置文件中加以下配置 spring.jackson.date ...
- Thymeleaf模板引擎处理日期输入框回显问题type=“date“类型的坑 和 单选按钮、复选框的回显
type="date"类型的日期输入框的默认格式为"yyyy/MM/dd",但是如果使用Thymeleaf的日期格式化工具类的时候使用"yyyy/MM ...
- 详解mysql NULL和 IS NOT NULL以及空字符串
1.NULL 和 空字符串的区别 "NULL" 表示的是一种数据类型,表示未知 " " 空字符串的数据类型是字符串,只是这个字符串比较特殊 ...
最新文章
- 数据结构-图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析
- 怎么在同一页中分页_分库分表业界难题,跨库分页的几种常见方案
- 浅谈css3长度单位rem,以及移动端布局技巧
- 蓝桥杯 BASIC-17 基础练习 矩阵乘法
- centos7 安装 nvm
- 无敌大奉献:iOS技术开发知识整理
- jdbc连接mysql数据库 工作流程_jdbc连接数据库流程图
- PAT A1007 动态规划
- GIS设备局部放电在线监测的研究设计报告
- 透视相机(PerspectiveCamera)
- 中英文代码对比之ZLOGO 4 LOGO
- U盘重装Win10系统教程
- numeric scale mysql_mysqldecimal、numeric数据类型
- 中铁成本2.0系统服务器地址,中国中铁项目成本管理信息系统V2.0(电化版)操作手册.docx...
- ajax请求 下载zip压缩包
- java 字数_java 字数统计
- Glide使用详解(一)
- java.lang.IllegalArgumentException异常
- 如何用django来创建一个网站
- freemarker 页面静态化技术