在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. 继国美处罚“摸鱼”员工后,网易出品之摸鱼计算器...
  2. jumpserver v0.4.0 基于 CenOS7 的安装详解
  3. WN7 上IIS7运行asp+access网站出现错误: ADODB.Connection 错误 '800a0e7a'未找到提供程序。该程序可能未正确安装
  4. java分层窗格_java 简洁的分层实现
  5. centos 多台 文件夹同步_win10+OneDrive,同步备份文件最佳搭档,这样关闭自动备份通知...
  6. 以一定概率执行某段代码(Python实现)
  7. 华为笔试题:词频统计
  8. Oracle下载和安装教程
  9. php网上花店管理系统的论文,网上花店管理系统
  10. MATLAB数字信号处理系统GUI实现
  11. 无涯社区分享:链网+DID,区块链应用破局的关键 | ArcBlock 活动
  12. NLP - ngram - N元语言模型 python 实现
  13. Java随机产生昵称
  14. 创投日报:3月28日收录投融资项目19起
  15. 微芯片植入大脑可保存人们的大脑记忆内容
  16. IO模型(阻塞,非阻塞,多路复用......)
  17. jQuery遍历集合
  18. 【Google Play】创建和管理内部测试版本 ( 创建内部测试版本 | 检查并发布内部测试版本 )
  19. python写的简单游戏-1小球碰壁弹跳
  20. 纳米结构中的磁斯格明子

热门文章

  1. [MtOI2019]永夜的报应 题解
  2. 影子经纪人再次归来,公开密码解密更多NSA黑客工具!连中国运营商都被入侵过?...
  3. python crypto模块详解_python - ImportError:没有名为Crypto.Ciph的模块
  4. HTML <head> 元素
  5. JVM调优参数与常用调优命令
  6. java callable接口_Java Callable接口实现细节详解
  7. linux下eclipse汉化包,Archlinux KDE 添加中文语言包
  8. Apollo搭建与实战(分布式部署)
  9. Jmeter接口测试之响应断言
  10. eclipse 卸载 codemix