解决SpringMVC Controller中接受日期格式发生400错误

2023-11-13

解决SpringMVC Controller中接受日期格式发生400错误

  用户中有生日(Date)属性,用户注册的时候,选择日期即可,然后提交表单,可SpringMVC报错,意思是不能把字符串转为日期类型的。如果是strtus的话,压根不是问题,怎么到用SpringMVC就不行了呢,可能有好的解决办法

方法一:实体类中加日期格式化注解

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")  
    private Date birthday;  


    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public Date getBirthday(){

    如上,在对应的属性上,加上指定日期格式的注解,本人亲自测试过,轻松解决问题!

 

方法二:控制器控制器中加入一段数据绑定代码

 

   //将字符串转换为Date类
    @InitBinder
    public void initBinder(WebDataBinder binder, WebRequest request) {
        //转换日期格式
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //注册自定义的编辑器
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
        
    }

方法三:实现一个全局日期类型转换器并进行配置

设置日期转换类

package com.xueqing.demo;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;

public class CustomDateEdtor implements WebBindingInitializer {   
    public void initBinder(WebDataBinder binder, WebRequest request) {
        // TODO Auto-generated method stub
        //转换日期格式
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
    }
}

在spingMVC配置文件进行配置

<!-- 配置全局日期转换器 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="webBindingInitializer">    
            <bean class="nuc.ss.wlb.core.web.CustomDateEdtor"/>
        </property>
    </bean>

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决SpringMVC Controller中接受日期格式发生400错误 的相关文章

  • Elasticsearch知识点

    目录 1 什么是Elasticsearch 2 Elasticsearch的特点 3 Elasticsearch基础概念 4 Elasticsearch基本数据类型 看这里 5 Elasticsearch基本检索类型 5 1 检索和过滤 5
  • 知识分享系统

    开发工具 eclipse idea vscode等 数据库 sqlite mysql sqlserver等 功能模块 请用文字描述 至少200字
  • 使用idea创建java web项目

    创建web项目有很多方法 就说一个最简单的方法吧 创建一个java项目 点击创建 右击项目选择添加框架支持 勾选上web应用程序 点击确定 再点击当前文件 编辑配置 点击加号 选择Tomcat服务器 本地 也可以选择其他服务器 点击配置 选
  • javaWeb数据库连接池,过滤器和监听器

    数据库连接池 JDBC 1 什么是数据库连接池 是一个数据库的工具 能够分配 管理和释放数据库连接 它允许应用程序重复使用一个现有的数据库连接 而不是再重新建立一个 常见数据库连接池 C3P0 是一个开放源代码的JDBC连接池 它在lib目
  • javaWeb项目中分页和模糊查询技术

    分页 需求 登录成功后 展现全部时 出现分页 思路 前端 1 设置分页按钮 以及分页数据 页码 总页数 总条数 2 设置分页请求 即点击上一页 下一页时发请求 后端 3 web xml映射 映射到Servlet能接收请求 4 Dao查询分页
  • 【JavaWeb】Thymeleaf的简介与使用

    Thmeleaf MVC 为什么需要MVC 我们之前在书城项目第二阶段做登录的时候 曾经提出过优化登录失败后的处理 虽然说可以实现在登录失败之后跳转回到登录页面 并且展示失败信息 但是代码实在是太恶心了 根本没法维护 所以我们需要将视图展示
  • Idea中Springboot开启热部署方法

    Springboot1 3后支持热部署 具体方法如下 1 增加依赖
  • JSP、JSTL标签

  • 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统 发现一些内容其实都是重复出现的 例如权限管理模块 权限管理模块就是为了管理用户是否有权利访问某个权限 如果不能则拒绝访问 其实Java中已经有很成熟的权限管理框架 例如 Shiro Spring Security等
  • javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

    java 验证出现如下错误 javax validation UnexpectedTypeException HV000030 No validator could be found for constraint 错误原因 Java实体类中
  • 利用MVC做一个 常见的管理系统

    登陆的部分 gt 数据库 gt 表 admin id name pass regtime 表与类的映射关系 基于面向对象 转换成对象的操作 gt 登陆页面
  • IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

    自动代码 常用的有fori sout psvm Tab即可生成循环 System out main方法等boilerplate样板代码 例如要输入for User user users 只需输入user for Tab 再比如 要输入Dat
  • Tomcat——IDEA & Eclipse部署Web项目

    目录 IDEA部署Web项目 IDEA配置Tomcat 部署web项目 IDEA与tomcat的相关配置 Eclipse部署Web项目 Eclipse配置Tomcat 部署web项目 IDEA部署Web项目 跳转到目录 一 IDEA配置To
  • WEB-7-多线程

    多线程 一 背景 二 认识线程 Thread 1 理解 2 进程和线程的区别 高频面试题 3 使用代码创建多线程 三 线程的相关操作 1 创建线程 1 方法一 继承 Thread 类 2 方法二 实现 Runnable 接口 3 其它方法
  • Servlet3.0基础

    一 要求 1 MyEclipse10 0或以上版本 2 发布到Tomcat7 0或以上版本 二 步骤 1 创建javaEE6 0应用 三 概述 注解代替web xml配置文件 异步处理 对上传的支持 四 注解代替配置文件 1 删除web x
  • MVC三层架构

    1 什么是MVC Model View Controller 模型 视图 控制器 模型就是Java对应数据库的那些字段 实体类 视图 就是JSP页面 控制器 就是Servlet负责跳转页面 Controller作用 Controller其实
  • Sping之自动注入-1

    最近终于能静下心来 一步步的学习Java Web开发 在学习的过程中 遇到太多的问题 一开始好些问题真是不知道怎么解决 在这里要非常感谢 Sping In Action 一书的作者 感谢他能写出此书 让我受益匪浅 您辛苦了 本着 相互学习
  • 【封装】实体类(entity)

    实体类entity 一 ORM 1 1 ORM 实体类 entity 零散数据的载体 1 1 1 ORM应用 一 ORM ORM Object Relational Mapping 从数据库查询到的结果集 ResultSet 在进行遍历时
  • 【JavaWeb】网络原理初识

    网络原理初识 计算机网络的历史 局域网和广域网 网络组件中的重要设备 网络通信基础 基本概念 协议分层 OSI七层模型 TCP IP五层 或四层 模型 封装和分用 发送方 接收方 三层转发和二层转发 计算机网络的历史 计算机最初是为了打仗而
  • JavaWeb——第五章 Servlet

    第五章 Servlet 一 Servlet简介 1 1 动态资源和静态资源 1 2 Servlet简介 二 Servlet开发流程 2 1 目标 2 2 开发过程 三 Servlet注解方式配置

随机推荐

  • QT connect函数

    connect是信号与槽的连接函数 调用方法大致分为以下几类 以QPushButton为例 一 信号 槽函数均不带参数 connect button SIGNAL clicked this SLOT onbuttonClicked conn
  • C、C++中对json格式数据的解析和封装

    C 首先需要调库 include
  • Linux配置kdump大小,linux6下kdump的配置

    linux6下kdump的配置 背景知识 kexec是一个快速启动机制 允许通过已经运行的内核的上下文启动一个Linux内核 不需要经过BIOS BIOS可能会消耗很多时间 特别是带有众多数量的外设的大型服务器 这种办法可以为经常启动机器的
  • 竞赛 基于机器视觉的火车票识别系统

    文章目录 0 前言 1 课题意义 课题难点 2 实现方法 2 1 图像预处理 2 2 字符分割 2 3 字符识别 部分实现代码 3 实现效果 最后 0 前言 优质竞赛项目系列 今天要分享的是 基于机器视觉的火车票识别系统 该项目较为新颖 适
  • 【Linux入门教程】4 用户管理、系统性能分析、系统日志及日志分析、信号机制与信号处理

    Linux用户管理 在Linux中 有三种用户 Root 用户 也称为超级用户 对系统拥有完全的控制权限 超级用户可以不受限制的运行任何命令 Root 用户可以看做是系统管理员 系统用户 系统用户是Linux运行某些程序所必须的用户 例如
  • Linq的使用方法

    Linq Lamdbe 简单的查询 var ss from r in db Am recProScheme select r var ss1 db Am recProScheme 带where的查询 var ss from r in db
  • 万网免费空间php,免费虚拟主机空间

    免费虚拟主机空间 编辑 概述 许多人选择免费虚拟主机搭建自己的网站或Web技术 事实上免费虚拟主机存在很大风险 如果你需要可靠的 安全的 能快速加载服务的 有技术保障支持的服务 建议你准备一些预算 到正规的买可靠的虚拟主机空间 一 什么是免
  • 多线程快速导入大量数据到mysql

    目录 一 前言 二 多线程分批导入Mysql 3 Future类详解 4 ExecutorService 中 shutdown shutdownNow awaitTermination 含义和区别 一 前言 批量导入3w条数据需要一分多钟
  • 常用的方法封装成Jar包并调用

    在android开发过程中 我们经常会有这种需求 自己封装一个类库jar包 1 把自己写好的封装类只是代码的 直接在Eclipse中导出jar包 在所需要的项目中引用即可 2 如果代码中涉及到res资源文件的调用 通用的方法是把res资源文
  • 类中自身类的对象不能做自己的数据成员

    C 中为什么类中自身类的对象不能做自己的数据成员 但是做静态数据成员 引用类数据成员等可以 pre class cpp student private student a 错误 student b 正确 static student c 正
  • 备战数学建模1-MATLAB矩阵相关

    目录 一 数值数据 二 常用函数 三 变量及其操作 四 矩阵的基础应用 五 MATLAB基本运算 六 字符串处理 七 特殊矩阵 八 矩阵变换 九 矩阵求值 十 矩阵的特征值与特征向量 十一 稀疏矩阵 一 数值数据 1 整型 整型分为有符号整
  • JEESITE4实战之旅(五) 多数据源和图表

    前段时间有点忙 今天得空赶紧继续移植工作 今天要说一说多数据源的配置 自定义复杂查询 以及图表的操作 当然还是根据业务需求来 最近客户想让我在新系统上加一个销售汇总的功能 按月统计各个部门的销售额 废话 不多说 先上最终的效果图 因为汇总的
  • 数组扁平化(flatten)实现方案

    1 2 3 1 2 3 1 2 gt 1 2 3 1 2 3 1 2 上面的转换就是数组的扁平化 将一个嵌套多层的数组 array 转换为只有一层的数组 下面是实现数组扁平化的几种简单方法 1 递归 function flatten1 ar
  • 全量数据同步与数据校验实践——应对百亿量级分库分表异构库迁移

    在一家发展中的公司搬砖 正好遇到分库分表 数据迁移的需求比较多 就入坑了 最近有个系统重构 一直做数据重构 迁移 校验等工作 基本能覆盖数据迁移的各个基本点 所以趁机整理一下 数据同步的场景是 数据库拆分 数据冗余 数据表重构 数据重构服务
  • wget 命令 简单使用

    wget 命令用于在终端中下载网络文件 格式为 wget 参数 下载地址 1 wget 常用参数 b 后台下载模式 r 递归下载 p 下载页面内所有资源 包括图片 视频 音频等 c 断点续传 t 最大尝试次数 P 下载到指定的目录 2 案例
  • 新一代云数据库的引领者---AWS

    文章目录 前言 正文 1 数据库多样性挑战与数据库云管平台的机遇 1 1 数据库多样性挑战 1 2 数据库云管平台的机遇 1 2 1 数据库市场百花齐放 多元混合数据库管理给企业带来挑战 1 2 2 企业普遍缺乏多元混合数据库管理的人才和技
  • okyo Cabinet简介

    http idning github io ssd cache html http blog 163 com zbr 4690 blog static 126613593200910312346337 http blog chinaunix
  • Param ‘serviceName‘ is illegal, serviceName is blank --------报错

    报错内容为 java lang IllegalArgumentException Param serviceName is illegal serviceName is blank 报错原因 SpringBoot2 4版本之后不会默认加载b
  • linux测试命令

    如下是一份 Linux 机器的渗透测试备忘录 是在后期开发期间或者执行命令注入等操作时的一些典型命令 设计为测试人员进行本地枚举检查之用 系统信息命令 对于本地的枚举检查很有用 基于 Redhat CentOS RPM 的发行版 YUM 命
  • 解决SpringMVC Controller中接受日期格式发生400错误

    解决SpringMVC Controller中接受日期格式发生400错误 用户中有生日 Date 属性 用户注册的时候 选择日期即可 然后提交表单 可SpringMVC报错 意思是不能把字符串转为日期类型的 如果是strtus的话 压根不是