解决BeanUtils传入date数据类型参数的异常问题
2016-06-19 23:04
561 查看
使用BeanUtils确实简化了我们的代码量,但是我们使用中会发现如果从表单接受的是Date类型的数据的话,会抛出异常。
解决方法有两个,就是注册一个日期转换器:
这是Admin类的代码
1.自定义一个日期转换器,但是挺麻烦的,虽然可以随意定制想要的样子
2.使用自带的工具类进行日期转换,挺方便的,建议使用这个比较快速
解决方法有两个,就是注册一个日期转换器:
这是Admin类的代码
public class Admin { private Date birthday; public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
1.自定义一个日期转换器,但是挺麻烦的,虽然可以随意定制想要的样子
//表单提交日期类型时的解决方法,自定义日期类型转换器 public void test() throws Exception{ Admin admin=new Admin(); //创建一个对象 String date="1900-1-1"; //模拟从表单接收的日期 // 注册日期类型转换器:1, 自定义的方式 ConvertUtils.register(new Converter() { // 转换的内部实现方法,需要重写 @Override public Object convert(Class type, Object value) { // 判断 if (type != Date.class) { return null; } if (value == null || "".equals(value.toString().trim())) { return null; } try { // 字符串转换为日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.parse(value.toString()); } catch (ParseException e) { throw new RuntimeException(e); } } },Date.class); // 把表单提交的数据,封装到对象中 BeanUtils.copyProperty(admin, "birthday", date); //拷贝日期到对象中 System.out.println(admin.getBirthday()); }
2.使用自带的工具类进行日期转换,挺方便的,建议使用这个比较快速
//使用提供的日期类型装换工具类,更加的简单 @Test public void test() throws Exception{ Admin admin=new Admin(); //创建admin对象 String name="suny"; //模拟从 表单接收的属性 String birthday="1900-01-01"; // 注册日期类型转换器: 使用组件提供的转换器工具类 ConvertUtils.register((Converter) new DateLocaleConverter(), Date.class); //拷贝name属性到对象 BeanUtils.copyProperty(admin,"name",name); //拷贝birthday属性到对象 BeanUtils.copyProperty(admin,"birthday",birthday); //测试输出获取到的属性 System.out.println(admin.getName()); System.out.println(admin.getBirthday()); }
相关文章推荐
- jdbc中的Statement和PreparedStatement接口对象
- 我是运营,我没有假期
- Java反射随记
- 在线用表单建立文件夹
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- Jquery 表单取值赋值的一些基本操作
- Ruby中的异常处理代码编写示例
- 修复mysql数据库
- 浅析SQL数据操作语句
- SQLServer 数据导入导出的几种方法小结
- 简述MySQL分片中快速数据迁移
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- C#中的委托数据类型简介
- SQL Server删除表及删除表中数据的方法
- SqlServer2008误操作数据(delete或者update)后恢复数据的方法
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法