在SpringMVC中,可以采用实体类来自动绑定表单传递过来的参数,但需要注意的是,若实体类属性是Date或Timestamp类型的话,SpringMVC将无法自动绑定,会产生400错误,所以需要我们自定义转换规则。

方法:

1.定义转换规则:创建编辑器类,继承自PropertiesEditor(由Spring提供)

import java.sql.Timestamp;
    import org.springframework.beans.propertyeditors.PropertiesEditor;
    public class TimestampEditor extends PropertiesEditor {
@Override

public void setAsText(String text) throws IllegalArgumentException {

//note:只能将 yyyy-MM-dd HH:mm:ss或者yyyy-M-d HH:mm:ss格式的字符串进行转换

yyyy-MM-dd是不可以的

setValue(Timestamp.valueOf(text));

}

@Override
public String getAsText() {
return getValue().toString();
}
    }

2.应用转换规则:在Controller中添加initBinder方法,并在方法上添加Spring提供的@InitBinder注解

import org.springframework.web.bind.annotation.InitBinder;
    @Controller

public class WebController {

@RequestMapping("/test.do")

@ResponseBody

public String test(User u){ //note:User为接收参数的实体类

return "OK";
}
@InitBinder
public void initBinder(WebDataBinder binder){
   binder.registerCustomEditor(Timestamp.class, new TimestampEditor());  
}
    }

完成上述两个步骤以后,当请求参数传递过来时,Spring就会先调用initBinder方法对请求参数进行转换,然后再将参数绑定到实体类对象上。

spring mvc使用@InitBinder 标签将日期格式字符串转换成Timestamp类型相关推荐

  1. spring mvc使用@InitBinder 标签对表单数据绑定

    在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定. 解决的办法就是使用spring mvc提供的@InitBinder标签 ...

  2. PHP:时间戳time和日期格式字符串转换date

    1.时间戳转字符串 // 获取当前时间的字符串格式 var_dump(date('Y-m-d H:i:s')); // string(19) "2021-11-25 17:42:28&quo ...

  3. 前端将后端返回的富文本格式字符串转换成word下载

    需要用到三个库 npm install html-docx-js -S npm install file-saver -S npm install dayjs -S 或 pnpm install ht ...

  4. java时间戳龙_Java时间戳与日期格式字符串的互转

    Java时间戳与日期格式字符串的互转 import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { ...

  5. java时间戳转换日期格式_Java时间戳与日期格式字符串的互转

    1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 4 public class DateUtil { 5 /** 6 * ...

  6. java自定义标签 map_基于Spring MVC的自定义标签Tag

    基于Spring MVC的自定义标签Tag 1.环境准备 本次小项目基于Spring MVC进行测试呈现,项目依赖的jar文件列表如下: 2.搭建SpringMVC Spring MVC环境最关键的两 ...

  7. (继续搬)struts日期格式的转换以及hibernate中session的关闭在xml中的配置

    1.struts日期格式的转换package cn.sxx.utils;import java.text.ParseException; import java.text.SimpleDateForm ...

  8. php用什么服务器系统时间格式,php中时间戳和日期格式的转换

    一,PHP时间戳函数获取指定日期的unix时间戳 strtotime("2009-1-22″) 示例如下: echo strtotime("2009-1-22″) 结果:12325 ...

  9. C#常用日期格式处理转换

    转!!!!!C#常用日期格式处理转换[C#日期格式转换大全] 2011-04-20 13:39 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换 ...

最新文章

  1. oracle11g注册在哪里,oracle 如何新建账号密码在suse11,oracle11g和tomcat开机自启动...
  2. python利用opencv自带的颜色查找表(LUT)进行色彩风格变换
  3. python判断能否组成三角形_牛鹭学院:学员笔记|Python: 输入三条边,判断是否可以成为三角形...
  4. Redis击穿、雪崩、穿透场景描述与解决方案
  5. php mysql 子查询_php – MySQL查询和子查询
  6. 计算机技术在机械设计中的应用,计算机技术在机械设计制造和自动化中的应用(原稿)...
  7. python ftp下载文件_文件上传下载Python
  8. gcn语义分割_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...
  9. 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧
  10. 面试小能手速成,接口测试脚本如何编写?其实很简单
  11. Letter Combinations of a Phone Number
  12. MacbookAir2011用U盘重装10.13.6High Sierra系统
  13. foobar2000播放的一些使用技巧
  14. 7-26 出生年 (15分)
  15. 医学自然语言处理(NLP)相关论文汇总之 NAACL 2021
  16. 小白学 Python 爬虫(13):urllib 基础使用(三)
  17. android 读写cpu卡,RAM/CPU和SD卡读写性能提升_联想 K860i_手机Android频道-中关村在线...
  18. u盘魔术师给服务器装系统,U盘魔术师怎么装系统 U盘魔术师USM制作PE启动盘方法...
  19. J-link无法下载固件问题
  20. 小球碰壁反弹加分_用Java实现小球碰壁反弹的简单实例(算法十分简单)

热门文章

  1. ”NSA武器库-永恒之蓝“与“Wannacry蠕虫勒索软件”的双剑合璧
  2. Element UI 按需引入注意事项,.babelrc 文件修改问题
  3. selenium 爬取cookie并且把数据下载到Excel
  4. 牛客竞赛14346凌波微步题解
  5. Vue-cli安装问题及解决方案
  6. 腾讯暑期实习生常规批在线笔试(事后回忆)
  7. ZBC陆续在主要CEX开启Staking,锁定市场大部分流通量成大利好
  8. C# 自定义属性在propertyGrid控件中显示
  9. 一、mcg-helper研发小助手介绍
  10. git合并分支到主干