09.SpringMVC之类型转换
2024-09-06 04:06:16
一. 类型转换器
前端传入的值,从表单中传入的值,都是字符串或者是字符串数组的形式传入的,在后端需要进行手动的转换类型,然后才能正确的使用。 框架一般对常见的数据类型的转换进行了封装提供,如字符串转换成数字等。
有标量的转换器,即字符串到数字,字符串到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、引用转换器
最新文章
- WinForm构造函数的作用
- 图解jmeter压测http接口
- Winform开发框架之附件管理应用
- 【转】网络中的AS自治域
- c#数组乱序,打乱数组
- JSON字符串和js对象转换
- char指针
- xml技术DTD约束定义
- Java——(一)一切都是对象
- 从运维角度浅谈 MySQL 数据库优化
- stagefright框架(二)- 和OpenMAX的運作
- Fiddler 域名过滤
- Android--多线程之Handler 前言
- (转)示例化讲解RIP路由更新机制
- Centos7安装mysql-5.7.19
- Java 锁的学习
- border-image属性把边框的背景设置为图片
- div 中图片溢出问题及 CSS3中图片翻转问题
- from组件补充
- Amazon SES SPF和DKIM设置教程