一. 类型转换器

前端传入的值,从表单中传入的值,都是字符串或者是字符串数组的形式传入的,在后端需要进行手动的转换类型,然后才能正确的使用。 框架一般对常见的数据类型的转换进行了封装提供,如字符串转换成数字等。

有标量的转换器,即字符串到数字,字符串到Boolean等。

也有集合类型的转换器, 如数组到集合, 拼接型字符器(如,) 到集合等。

发现,没有常用的字符串到日期 Date 的转换器。

1、定义转换器,实现接口Converter<From,To>

package cn.converters;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Pattern; import org.springframework.beans.TypeMismatchException;
import org.springframework.core.convert.converter.Converter;
/**
*
* @author 景佩佩
*
*S:Source 源类型
*T:Target 目标类型
*/
public class DateConverter implements Converter<String, Date> { public Date convert(String source) {
//SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf=getDateFormat(source);
try {
return sdf.parse(source);
} catch (ParseException e) {
//e.printStackTrace();
}
return null;
} private SimpleDateFormat getDateFormat(String source){
//一个字符串和一个特定形式能否匹配,正则
SimpleDateFormat sdf=new SimpleDateFormat();
if (Pattern.matches("^\\d{4}-\\d{2}-\\d{2}$", source)) {
sdf=new SimpleDateFormat("yyyy-MM-dd");
}else if (Pattern.matches("^\\d{4}/\\d{2}/\\d{2}$", source)) {
sdf=new SimpleDateFormat("yyyy/MM/dd");
}else if (Pattern.matches("^\\d{4}\\d{2}\\d{2}$", source)) {
sdf=new SimpleDateFormat("yyyyMMdd");
}
return sdf;
} }

2、注册转换器

3、引用转换器

最新文章

  1. WinForm构造函数的作用
  2. 图解jmeter压测http接口
  3. Winform开发框架之附件管理应用
  4. 【转】网络中的AS自治域
  5. c#数组乱序,打乱数组
  6. JSON字符串和js对象转换
  7. char指针
  8. xml技术DTD约束定义
  9. Java——(一)一切都是对象
  10. 从运维角度浅谈 MySQL 数据库优化
  11. stagefright框架(二)- 和OpenMAX的運作
  12. Fiddler 域名过滤
  13. Android--多线程之Handler 前言
  14. (转)示例化讲解RIP路由更新机制
  15. Centos7安装mysql-5.7.19
  16. Java 锁的学习
  17. border-image属性把边框的背景设置为图片
  18. div 中图片溢出问题及 CSS3中图片翻转问题
  19. from组件补充
  20. Amazon SES SPF和DKIM设置教程

热门文章

  1. python根据窗口标题找句柄,将窗口前置活动
  2. 安卓源码默认开启USB调试
  3. 【LeetCode】54. 螺旋矩阵
  4. 【洛谷1434 [SHOI2002]滑雪】记忆化搜索
  5. js之检测浏览器
  6. Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)
  7. user-agent浏览器标识集合
  8. Flutter学习(8)——CheckBox多选框使用及动态更改多选框数据
  9. MySQL 创建高性能索引
  10. RHCE_DAY07