通过使用beanutils的时候出现了标题所显示的异常,然后很简单的就解决了这个问题。主要是因为:ConvertUtils.register(new DateLocaleConverter() , Date.class);这句话是String转date类型转换失败。
下面看我的测试代码:
//通过Apache提供的DateLocaleConverter来进行时间的转换 @Test public void test4() throws Exception{ String name = "aaa"; String pwd = "bbb"; String age = "2s3"; String birth = "1994-01-22"; Persons p = new Persons(); ConvertUtils.register(new DateLocaleConverter(), Date.class); BeanUtils.setProperty(p, "name", name); BeanUtils.setProperty(p, "pwd", pwd); BeanUtils.setProperty(p, "age", age); BeanUtils.setProperty(p, "birth", birth); System.out.println(p.getName()); System.out.println(p.getPwd()); System.out.println(p.getAge()); System.out.println(p.getBirth()); }
其实主要原因就是因为commons-beanutils.jar包这个包比较旧,更新就好,我用的是1.9.2版本的,不知道是不是因为旧版本的不能用还是这个方法不完善,更新了就好了。
推荐大家在Maven的中央工厂进行下载最新的包,里面也罗列了各版本的包,不过这就需要用到Maven的基础了。
下载地址:http://mvnrepository.com/artifact/commons-beanutils/commons-beanutils
更多关于Maven的依赖特性和常见问题:
http://blog.csdn.net/nthack5730/article/details/46613679
http://blog.csdn.net/nthack5730/article/details/46633287