No origin bean specified问题分析

Beanutils.copyproperties - No origin bean specified问题分析

下面是Beanutils.copyproperties 的源码片断:

public void copyProperties(Object dest, Object orig)

throws IllegalAccessException, InvocationTargetException,

NoSuchMethodException {


if (dest == null) {

throw new IllegalArgumentException

("No destination bean specified");

}

if (orig == null) {

throw new IllegalArgumentException("No origin bean specified");

}

.............

可以看出public void copyProperties(Object dest, Object orig)方法的参数中两个对象中有一个为NULL就会报出这个错误.

具体解决办法是断定是那个对象对空来解决,一般这个方法是用于vo转向pojo的,如果pojo是空的话,一般是没有初始化,如果vo为空的话,出现最多的问题是在structs-config.xml配置文件中<action>标签中没有设定name这个属性,加上name=该form对象就可了.

1.。在VO中继承错误的POJO对象,导致Form中的name没有对应的setter,getter方法,进而导致BeanUtils.copyproperties中的对象为空。报上述错误

2.。ModelDriven<TenantModel>在implements ModelDriven接口时,其中的Model是通过实现 getModel()这个函数,我们需要首先定义一个private TenantModel=new TenantModel();在此处注意需要用new 来创建对象,否则依然报错。

猜你喜欢

转载自bioubiou.iteye.com/blog/1602780