post提交参数有addtime时,总是返回400错误。

原因:spring mvc 在接收日期类型参数时,如不做特殊处理 会出现400语法格式错误

解决办法:

我们在SpringMVC开发中,可能遇到比较多的问题就是前台与后台实体类之间日期转换处理的问题了,说问题也不大,但很多人开发中经常会遇到这个问题,有时很令人头疼,有时间问题暴露的不是很明显,然后逐渐对问题进行跟踪,会发现是日期类型转换失败“映射”不到对应的持久类的日期属性上造成的,由此我还特意写过一篇博文:SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法。感兴趣的码农可以看一看,总结了常见造成springMVC出现“400 Bad Request”错误的七大原因,其中就有前台的字符串日期类型与后台的java日期类型匹配不上造成的。

今天晚上呢,特意抽出宝贵的时间来总结归纳出一下解决这个问题的三大方法,分享给大家,以帮助更多像我一样的人。鄙人不才,如果过程中有讲解的不清或者不对的地方,还望认真阅读的您,留下你的宝贵意见或建议,以便您,我,还有大家更快更好的共同进步!

好了,我们切入正题吧!

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

[java] view plain copy
@DateTimeFormat(pattern = "yyyy-MM-dd")  
private Date receiveAppTime;  

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

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

[java] view plain copy

@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:不能为空值

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

此方法较为复杂,请详细查看本人的这篇博文:SpringMVC配置全局日期转换器,处理日期转换异常

附加方法四:适合页面把日期类型转换成字符串且JSP,Freemark页面

JSP模版引擎方法:

[java] view plain copy

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>   

<fmt:formatDate value="${job.jobtime }" pattern="yyyy-MM-dd HH:mm:ss"/>

Freemarker模版引擎方法:

[java] view plain copy

<input id="receiveAppTime" name="receiveAppTime" type="text" value="${(bean.receiveAppTime?string('yyyy-MM-dd'))!}" />  

OK了,完了,希望以上方法能帮助正在阅读的您!

转载请注明—作者:Java我人生(陈磊兴)   原文出处:http://blog.csdn.net/chenleixing/article/details/44708533

转载于:https://www.cnblogs.com/aislingw/p/9001435.html

post提交参数有Date类型,总是返回400格式错误相关推荐

  1. PostMan发送请求参数带有路径特殊字符会返回400错误(与URL字符及URL编码值有关)

    目录 一.请求参数中携带URL字符返回400错误 二. 请求参数中携带URL字符返回400错误原因 三.URL字符及对应的URL编码值列表 四.请求参数中携带URL字符转成URL编码值 一.请求参数中 ...

  2. ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到

    场景 ElementUI中el-upload怎样上传文件并且传递额外参数给Springboot后台进行接收: https://mp.csdn.net/console/editor/html/10797 ...

  3. Struts Form中Date类型之“argument type mismatch”错误解决方法

    现象: 当输入页面中含有日期如2008-01-01时,如果Form中对于的字段为Date类型,则会出现"argument type mismatch"错误. 原因: Struts的 ...

  4. Postman:传递的参数是List类型时 传参格式的写法

    Postman传递的参数是List类型 实体类中引用了一个List,泛型为其他实体类 参数是List集合时,Postman中参数格式如下图所示: 有不明白的地方,欢迎留言  东小店邀请码:w56mho

  5. okhttp post提交参数完成登录功能 保存返回的token

    作为一名android开发者,通过博客记录自己成长的道路,以下是小白在开发实践中的登录功能实现的一些步骤及功能,希望对做这一部分功能的伙伴有一定的帮助 1.登录的界面布局 2.登录的url.sp保存t ...

  6. Mybatis-Plus驼峰命名规则之Date类型字段返回值为null

    一.通过Mybatis-Plus后台接口查询数据返回,Date类时间字段返回值为null,怎么解决? 1.首先:Mybatis-Plus驼峰命名规则默认是开启状态,无需我们进行任何配置 2.数据库中有 ...

  7. C# 接口中DateTime类型字段返回年月日格式,去掉时分秒的数据

    背景 在我们平时写接口的时候,避免不了这样一个问题,数据库中存的字段类型为datetime,代码中对应的实体类也是DateTime类型的字段,于是在读取数据库内容之后返回的数据也是DateTime类型 ...

  8. 后端的日期类型赋值前端表单_Spring Boot实践--前端字符串日期自动转换成后台date类型。...

    简单介绍 在前后台开发的时候:日期格式会转来转去,很麻烦.大致总结如下: 1:后端返回对象:可以使用spring提供的:HttpMessageConverter来自动转换,有很多实现. 比如:Abst ...

  9. SpringMVC+MyBatis 返回时间格式转换的解决方案

    Spring MVC 4.X ResponseBody 日期类型Json 处理 摘自http://tramp-zzy.iteye.com/blog/2090330  2014-07-10 方法一:全局 ...

  10. 编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException

    题目:编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException 具体代码如下: import java.text.Par ...

最新文章

  1. python怎么学最快-零基础怎么样才能学好Python?Python入门必看
  2. oracle plan_table,Oracle 执行计划 提示 'PLAN_TABLE' is old version 解决方法
  3. 安装oracle 11g 客户端,检查过程中报物理内存不足的解决
  4. 基于法律罪行知识图谱的智能预判与客服问答
  5. java拆分list_Java平均拆分list
  6. 瞬时极性法对正负反馈的判断方法_何为反馈?如何判断?统统告诉你
  7. 给angularJs grid列上添加自定义按钮
  8. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息
  9. 税友软件公司java面试_税友集团java面试题
  10. Caffe傻瓜系列(4):其它常用层及参数
  11. office和计算机基础,国二ms才office计算机基础知识.ppt
  12. vue引入echarts
  13. 不应忘却的纪念-小百合(Lilybbs)
  14. 内存储器(主存储器)的分类及存储芯片的扩展方式
  15. uniapp 跳转到商品详情页
  16. 嵌入式系统与普适计算
  17. 自然底数e究竟“自然”在哪?
  18. C#-Excel导入工资条群发邮箱
  19. 【洛谷】P1830 轰炸III 题解 代码+详解
  20. linux安装mysql8⼀步⼀步超详细教程

热门文章

  1. HCIE Security 防火墙反病毒 备考笔记(幕布)
  2. 关于忘记SYSKEY密码后清除密码操作
  3. 成绩排序--清华机试真题;使用运算符重载
  4. 对比了6家交易所的下币规则,我们发现……
  5. editplus怎么在前后插入字符
  6. vs 2008 xp 试用版 升级办法
  7. 无法创建 ActiveX 组件(转载)
  8. ADO.NET 对象模型
  9. text 热敏打印机_ESC/POS热敏打印机示例
  10. python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值