xin_789 2019-12-25 00:43 采纳率: 50%
浏览 198

关于使用ConvertUtils.register控制台出现异常,导致向数据库中插入数据失败

我在idea里面在servlet里面使用
ConvertUtils.register(new DateLocaleConverter(), Date.class);
BeanUtils.populate(user, request.getParameterMap());
这俩个方法的时候(就是从表单里面获取数据封装到user里面,因为里面有Date型数据,所以使用ConvertUtils注册)一开始访问,直接浏览器500说是服务器的问题,然后发现只导入了beanutils的jar包没有导入logging的jar包,导入之后浏览器不报错但控制台就出现异常,导致后面将user的数据插入到数据库的 us.register(user)语句也执行失败,而且就是ConvertUtils.register(new DateLocaleConverter(), Date.class);这句的问题,删掉之后,就是下一句的问题异常如图:图片说明
图片说明

其中蓝色的错误就是上面俩句,希望有人解答一番,被这个错误给弄的烦死?

  • 写回答

1条回答 默认 最新

  • yellow1019 2023-12-03 17:05
    关注

    可以考虑在register中自己定义日期类格式转换,如下参考代码:

            ConvertUtils.register(new Converter() {//重新注册java.util.Date
                @Override
                public Object convert(Class aClass, Object value) {
                    if (value == null || "".equals(value)){                   
                        return null;
                    }
                    Date parse = null;                
                    try {
                        if (value instanceof String) {
                            String dateValue = value.toString().trim();
                            int length = dateValue.length();
                            DateFormat formatter = null;
                            if (length <= 10) {
                                formatter = new SimpleDateFormat("yyyy-MM-dd", new DateFormatSymbols(Locale.CHINA));
                                return formatter.parse(dateValue);
                            }
                            if (length <= 19) {
                                formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", new DateFormatSymbols(Locale.CHINA));
                                return formatter.parse(dateValue);
                            }
                            if (length <= 23) {
                                formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", new DateFormatSymbols(Locale.CHINA));
                                return formatter.parse(dateValue);
                            }                        
                        }
                        if(value instanceof Long){
                            return new Date((long)value);
                        }
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return parse;
                }
            }, java.util.Date.class);
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)