搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录。

在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。

比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDataBinder类和操作

有些类型的数据是无法自动转换的,比如请求参数中包含时间类型的数据,无法自动映射到Controller里的Date参数。需要使用@initBinder注解为binder提供一个数据的转换器,这个转换器可以自己实现,也可以用spring官方的一些实现。比如:

package com.wang.action;import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/*** 测试@initBinder注解* @author wlyfree*/
@Controller
public class BinderAction {@RequestMapping("/sb2.do")public void doTest(@RequestParam(value="name")String name,@RequestParam(value="age")double age,@RequestParam(value="nowTime")Date nowTime){System.err.println("name:" + name);System.err.println("age:" + age);System.err.println("nowTime:" + nowTime);} @InitBinderpublic void initBinder(WebDataBinder binder){binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));}
}

转载于:https://www.cnblogs.com/panxuejun/p/7280035.html

表单中的日期 字符串和Javabean中的日期类型的属性自动转换相关推荐

  1. springMVC注解@initbinder日期类型的属性自动转换

    在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能. 一 ...

  2. java怎样将日期本土化_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...

    09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象 分类:计算机等级| 更新时间:2008-10-16| 来源:教育联展网 将未指定格式的日期字符串转化成java ...

  4. java 指定格式的date_指定格式的日期字符串转化成java.util.Date类型日期对象

    将未指定格式的日期字符串转化成java.util.Date类型日期对象,代码如下: import java.text.DateFormat; import java.text.ParseExcepti ...

  5. 来自 PHP 之外的变量(HTML 表单中的数组、变量名中的点)

    摘自php手册 注意看下一下例子,解释了为什么html中使用数组,以及url中get参数中英文句号.在php中的转化(get中参数中的英文句号"."转化成下划线"_&qu ...

  6. mysql字符串比较日期_比较MySQL中的日期字符串

    要比较日期字符串,请使用MySQL中的STR_TO_DATE(). 让我们首先创建一个表-mysql> create table DemoTable712 ( Id int NOT NULL A ...

  7. html表单 传递 符号,HTML源码中 form 标签的 enctype 属性

    定义:enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码.默认地,表单数据会编码为 "application/x-www-form-urlencoded".即在发 ...

  8. 如何将格林尼治标准时间的字符串转换为Excel中的日期?

    使用这个公式: =INT(–LEFT(A1,FIND("GMT",A1)-1)) 然后格式化,你想的日期.

  9. mysql日期格式化季度_mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...

最新文章

  1. 多线程大文件断点续传和流媒体的处理方法
  2. python变量定义必须赋值_Python3单行定义多个变量或赋值方法
  3. Windows进程管理类封装
  4. 快速幂或者矩阵快速幂
  5. Nginx之11吸星大法 - (页面缓存)
  6. Qt:45---QPainter绘图
  7. C语言链表与指针的知识点,C/C++知识点之C语言链表详解
  8. HTML5+CSS大作业——“传统节日--端午节(9页)
  9. JAVA有没有moba游戏_你了解MOBA么?——MOBA游戏类型介绍(上)
  10. 极兔快递单号查询API
  11. wireshark抓图
  12. 几种重要的排序算法——交换排序
  13. 自学apicloud【Apicloud——关于上传图片、视频】
  14. 机器学习cae_用AI设计微波集成电路,清华大学等提出深度强化学习方法RINN
  15. 《Fast User-Guided Video Object Segmentation by Interaction-and-Propagation Networks》论文笔记
  16. 父替女还23万卡债:“卡奴”怎走投无路
  17. JAVA计算饼图百分比合计不是100的问题处理,最大余额法
  18. ccd无法连接到计算机,激光三维手持式扫描仪无法连接电脑维修技术人员多
  19. Python基础下载安装卸载
  20. CentOS7下搭建Discuz论坛

热门文章

  1. [bzoj3531][Sdoi2014]旅行
  2. AJAX JSONP源码实现(原理解析)
  3. javascript 数组合并与去重
  4. lucene 搜索学习笔记 - OK
  5. ★LeetCode(175)——组合两个表(MySQL)
  6. 面试官:你给我手写个RPC框架看看
  7. 5G网络出来以后,家里面的宽带还有存在的必要吗?
  8. 大数据杀熟,是真的吗?
  9. 自己的本事比领导大,对自己有利还是有弊?
  10. 你有什么办法可以让摄影的模特又高又美?