BeanUtils.copyProperties拷贝form到实体bean时出错

Java_knight 2010-12-18 06:30:46
form属性:
private String innerId;
private TbCar tbCar = new TbCar();
private TbCustomer tbCustomer = new TbCustomer();
private String zhixing;
private String zulinPrice = "0";
private String yajin = "0";
private String preZujin = "0";
private String zulinQixian = "0";
private String chaoshiFee = "0";
private String lichengMeitian = "0";
private String outTimeFee = "0";
private String jingbanren;
private String yudingDate;
private String yudingTime;
private String demo;
bean属性:
private String innerId;
private TbCar tbCar = new TbCar();
private TbCustomer tbCustomer = new TbCustomer();
private String zhixing;
private Integer zulinPrice;
private Integer yajin;
private Integer preZujin;
private Integer zulinQixian;
private Integer chaoshiFee;
private Integer lichengMeitian;
private Integer outTimeFee;
private String jingbanren;
private Date yudingDate;
private Time yudingTime;
private String demo;
异常:java.lang.IllegalArgumentException: argument type mismatch。
问题补充:据自己推测应该是复制TbCar和TbCustomer时类型不匹配照成的。请大家帮帮忙。
...全文
599 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshilong669 2012-10-18
  • 打赏
  • 举报
回复
BeanUtils.copyProperties出现下面错误怎么解决
java.lang.IllegalArgumentException: No origin bean specified
quanlei1507053 2011-07-12
  • 打赏
  • 举报
回复
你用BeanUtils.copyProperties进行复制,性能很垃圾!
rainsilence 2010-12-19
  • 打赏
  • 举报
回复
如果源是String,目标对象是Integer。匹配难度是很小的。只要check正确也没有问题
如果源是String,目标对象是java.util.Date。你说怎么匹配?就算匹配了,风险也太大了。

这篇文章你可以读下,但是我不推荐你这么做。
http://blog.csdn.net/fableking/archive/2008/07/12/2644351.aspx
rainsilence 2010-12-19
  • 打赏
  • 举报
回复
目标对象是String,那么没问题。如果是其他类型,都会有风险。
shaosijun2004 2010-12-19
  • 打赏
  • 举报
回复
Note: The source and target classes do not have to match or even be derived from each other, as long as the properties match. Any bean properties that the source bean exposes but the target bean does not will silently be ignored.

我读了第一句,好像意思是 类不需要匹配也不需要是父子关系,只要参数匹配

我读第二句,意思貌似是 任何属性 源对象 暴露出来的,但是目标对象设置为不暴露的将会不被理睬,也就是目标对象 是 private的时候不会理

英语很差,不知道理解的对不对,希望对楼主有帮助
Java_knight 2010-12-19
  • 打赏
  • 举报
回复
难道你们都不知道???
Java_knight 2010-12-19
  • 打赏
  • 举报
回复
使用BeanUtils.copyProperties()方法时,类型会自动转换的啊。
HF2905330 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 java_knight 的回复:]
form属性:
private String innerId;
private TbCar tbCar = new TbCar();
private TbCustomer tbCustomer = new TbCustomer();
private String zhixing;
private String zulinPrice = "0";
private String……
[/Quote]

date time,这些类型都会有问题的
Java_knight 2010-12-19
  • 打赏
  • 举报
回复
呵呵,非常感谢rainsilence,就是因为对象是java.util.Date出的错,将其改为java.sql.Date就行了。
tubage408 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rainsilence 的回复:]
一个是Integer,一个是String,怎么会匹配啊
[/Quote]
是呀。
rainsilence 2010-12-18
  • 打赏
  • 举报
回复
一个是Integer,一个是String,怎么会匹配啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧