SpringMVC日期类型转换问题处理方法归纳

前言

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

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

       好了,我们切入正题吧!

 

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

@DateTimeFormat(pattern = "yyyy-MM-dd")  
private Date receiveAppTime; 

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

 

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

    @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模版引擎方法:

 

    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>   <fmt:formatDate value="${job.jobtime }" pattern="yyyy-MM-dd HH:mm:ss"/>  

转载:http://blog.csdn.net/chenleixing/article/details/45190371 作者:Java我人生(陈磊兴)

 

转载于:https://www.cnblogs.com/cainiao-Shun666/p/6879480.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu远程连接windows工具rdesktop

安装工具 sudo apt-get install rdesktop 远程连接 rdesktop -f -r clipboard:PRIMARYCLIPBOARD -a 32 192.168.56.107 用法&#xff1a; rdesktop[options] server[:port] 命令参数常用的有&#xff1a; -u用户名 -p密码 -n客户端主机名&#xff08;显示windows任务管理器中…

ajax 接收json数据的进一步了解

var url "../searchclasses";$.ajax({url: url,type: "post",dataType: "json",//以json形式接收error: function() {alert("error");},success: function(data) {var html "";$.each(data, function(index, content) {va…

Spark在Ambari集群环境的使用

进入安装sparkclient的节点 hdfs准备一个文件 su - hdfs vi text.txt 随便写几行东西 #创建目录 hdfs dfs -mkdir /user/hdfs/test #上传文件 hdfs dfs -put test.txt /user/hdfs/test/ #检查文件是否在 hdfs dfs -ls /user/hdfs/test/ #检查内容是否对 hdfs dfs -c…

Spark实战之读写HBase

1 配置 1.1 开发环境&#xff1a; HBase&#xff1a;hbase-1.0.0-cdh5.4.5.tar.gzHadoop&#xff1a;hadoop-2.6.0-cdh5.4.5.tar.gzZooKeeper&#xff1a;zookeeper-3.4.5-cdh5.4.5.tar.gzSpark&#xff1a;spark-2.1.0-bin-hadoop2.61.2 Spark的配置 Jar包&#xff1a;需要HBa…

greenplum vacuum清理删除数据命令

官方文档 http://docs.greenplum.org/6-4/ref_guide/sql_commands/VACUUM.html greenplum数据删除后不会释放存储空间&#xff0c;需要命令VACUUM清理释放 命令格式 VACUUM [({ FULL | FREEZE | VERBOSE | ANALYZE } [, ...])] [table [(column [, ...] )]] VACUUM [FULL] …

vitualbox命令操作VBoxManage

进入本地virtualbox管理 运行服务器上的virtualbox 本地直接启动了virtualbox界面 这个很牛啊&#xff0c;直接本地图形化管理了&#xff0c;不用纠结服务器端没有显卡&#xff0c;进不去图形界面的问题了。 研究了VBoxManage startvm 最后才发现可能这样也行&#xff0c;哈…

Hadoop2之NameNode HA详解

在Hadoop1中NameNode存在一个单点故障问题&#xff0c;如果NameNode所在的机器发生故障&#xff0c;整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNode&#xff0c;但是它并不是NameNode的备份&#xff0c;它只是NameNode的一个助理&#xff0c;协助NameNode工作&#x…

GCC10.1.0最新版编译

官网地址&#xff1a;GCC, the GNU Compiler Collection- GNU Project 下载编译 wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-10.1.0/gcc-10.1.0.tar.gztar zxvf gcc-10.1.0.tar.gzcd gcc-10.1.0/mkdir buildcd build/../configure 报错&#xff0c;提示信息co…

python 一句话校验软件 hash值

转载&#xff1a; 我是如何 Python 一句话校验软件哈希值的 原创 2017-05-21 余弦 懒人在思考MD5 python -c "import hashlib,sys;print hashlib.md5(open(sys.argv[1],rb).read()).hexdigest()" ***.exe 校验 下载软件是否被“中间人动过手脚” 例如&#xff1a;校验…

Apache Nifi 实战:多表导入实现及填坑 GitChat连接

NiFi 是美国国家安全局开发并使用了 8 年的可视化数据集成产品&#xff0c;2014 年 NAS 将其贡献给了 Apache 社区&#xff0c;2015 年成为 Apache 顶级项目。 大数据平台都需要进行数据流转&#xff0c;Apache Nifi 作为一款强大的数据流开源软件&#xff0c;支持大量的输入输…

hosts 文件与 ipv6

ipv6 的项目地址&#xff1a;ipv6-hosts 正如文档中所说&#xff0c;用于在大陆地区加快 Google、YouTube、Facebook、Wikipedia 等的访问&#xff1b;&#xff08;twitter 不支持&#xff09;使用说明&#xff08;windows&#xff09;&#xff1a; 解压到的 hosts 文件对于 wi…

工作总结3:axios里面的主要参数

<template><div class"axios"></div> </template> <script> import axios from axiosexport default {name: axios3-2,created() {// 实际开发// 两种请求接口&#xff1a;// http://localhost:9090// http://localhost:9091const …

快速入门系列之 Scala 语言 GitChat连接

Scala 是一门多范式的编程语言&#xff0c;设计初衷是要集成面向对象编程和函数式编程的各种特性。目前常应用于 Spark、后端开发等&#xff0c;Twitter 等公司也选择其作为后端语言。 本文以实例为导向&#xff0c;讲解 Scala 这门语言&#xff0c;适合有一定其他面向对象语言…

jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。s:a actions:iterators:paramognl表达式...

在编写SSH2项目的时候&#xff0c;除了使用<s:form>表单标签向Action类跳转并传递参数之外&#xff0c;很更多时候还需要用到<s:a action"XXX.action">这个链接标签进行跳转&#xff0c;此时&#xff0c;传递需要的参数必不可少。此外&#xff0c;在jsp页…

工作总结4:拦截器的使用

1.拦截器综述 拦截器的功能是定义在Java拦截器规范。 拦截器规范定义了三种拦截点: 业务方法拦截, 生命周期回调侦听, 超时拦截(EJB)方法。 在容器的生命周期中进行拦截 public class DependencyInjectionInterceptor {PostConstructpublic void injectDependencies(Invoca…

快速入门系列之 Rust 语言 GitChat连接

Rust 是一枚新星&#xff0c;兼顾开发效率和执行效率的语言。本文以实例为导向&#xff0c;讲解 Rust 这门语言&#xff0c;适合有一定其他面向对象语言基础的人员快速入门。 本文将讲解如下内容&#xff1a; - Hello World 从头起 - 各种类型各种算 - 各式流程来控制 - 数组…

java -jar maven项目打包提示.jar中没有主清单属性

mvn package java -jar target/java_bottom_level_learning-1.0-SNAPSHOT.jar这里报错了&#xff1a; target/java_bottom_level_learning-1.0-SNAPSHOT.jar中没有主清单属性 我们打开 jar 中的 /META_INF/ MANIFEST.MF缺少项目启动项&#xff0c;即没有Main-Class 怎么处理呢…

工作总结5:插槽的使用

什么是插槽&#xff1f; 插槽就是子组件中的提供给父组件使用的一个占位符&#xff0c;用<slot></slot> 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的<slot></slot>标…

pycharm 破解

亲测有效&#xff01; http://blog.lanyus.com/archives/174.html 备注&#xff1a; 注册码破解链接&#xff1a;http://idea.lanyus.com/ 将下载的jar包放入PyCharm.exe所在路径 如D:\pycharm\pycharm2017\PyCharm 2017.1.2\bin pycharm.exe.vmoptions 和pycharm64.exe.vmopti…

Java JVM 汇编代码入门 GitChat链接

为什么 new Integer(151)151&#xff1f;我来带你们一起学习下 JVM 汇编代码吧&#xff0c;窥探下神奇的 Java 中间语言到底什么样子的&#xff0c;能帮你更深入的理解 Java。 本文包含以下内容 工具介绍 JVM 汇编代码初见 汇编初步分析 局部变量生命周期 基础类型 大于 5 的…