码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA_Converter_字符串类型转Date类型

时间:2018-07-03 11:29:25      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:stack   tst   ons   style   size   定义   format   use   java   

   我们知道数据库中的时间一般为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类型

标签:stack   tst   ons   style   size   定义   format   use   java   

原文地址:https://www.cnblogs.com/byw-/p/9256795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!