JAVA_Converter_字符串类型转Date类型
Posted byw-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA_Converter_字符串类型转Date类型相关的知识,希望对你有一定的参考价值。
我们知道数据库中的时间一般为Date类型,而前台传递过来的为字符串,BeanUtils在封装数据的时候,没有将类型转换,导致报异常...
我们只需要在封装数据之前,使用自定义转换器即可:
代码如下:
package com.itheima.myconverter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.beanutils.Converter; /** * 自定义 java.util.Date日期转换器 * * */ public class MyConverter implements Converter { @Override // 将value 转换 c 对应类型 // 存在Class参数目的编写通用转换器,如果转换目标类型是确定的,可以不使用c 参数 public Object convert(Class c, Object value) { String strVal = (String) value; if(strVal != ""){ // 将String转换为Date --- 需要使用日期格式化 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { Date date = dateFormat.parse(strVal); return date; } catch (ParseException e) { e.printStackTrace(); } } return null; } }
封装数据之前,记得使用自定义转换器
// 1.1注册自定义转化器 ConvertUtils.register(new MyConverter(), Date.class); // 1.2封装 BeanUtils.populate(user, request.getParameterMap());
以上是关于JAVA_Converter_字符串类型转Date类型的主要内容,如果未能解决你的问题,请参考以下文章
KakaJSON手册02_JSON转Model_02_数据类型