我正在尝试使用更通用的方法来减少我的代码库。
是否可以将一个对象的属性分配给另一个对象?
这是我的代码,但是当我尝试在 jsp 中使用它时,找不到属性。
三种对象类型之一(如代码中所示)是在应用程序流程的早期创建的。每个属性都略有不同。我想使用一个公共(public)对象来与 jsp 交互,而不是三个不同的对象。
public class DispositionV8Form {
private String formName = "";
private Object dispositionV8Form = null;
public DispositionV8Form(DispositionV8FormParms dispositionV8FormParms, DispositionListV8 dispositionListV8){
if(dispositionListV8.getDispositionListV8() != null){
for(DispositionV8 dispositionV8: dispositionListV8.getDispositionListV8()){
if(dispositionV8.getDispositionindex() == dispositionV8FormParms.getDispindex()){
switch(dispositionV8FormParms.getDispositionType()){
case 1://ARR
if(dispositionV8.getArrList() != null){
if(dispositionV8.getArrList().getArrListV8() != null){
for(ARRV8 arrV8: dispositionV8.getArrList().getArrListV8()){
if(arrV8.getDispindex() == dispositionV8FormParms.getDispindex()){
dispositionV8Form = arrV8;
formName = dispositionV8FormParms.getDispositionForm();
break;
}
}
}
}
break;
case 2://MRR
if(dispositionV8.getArrList() != null){
if(dispositionV8.getMrrList().getMrrListV8() != null){
for(MRRV8 mrrV8: dispositionV8.getMrrList().getMrrListV8()){
if(mrrV8.getDispindex() == dispositionV8FormParms.getDispindex()){
dispositionV8Form = mrrV8;
formName = dispositionV8FormParms.getDispositionForm();
break;
}
}
}
}
break;
case 3://MRV
if(dispositionV8.getArrList() != null){
if(dispositionV8.getMrvList().getMrvListV8() != null){
for(MRVV8 mrvV8: dispositionV8.getMrvList().getMrvListV8()){
if(mrvV8.getDispindex() == dispositionV8FormParms.getDispindex()){
dispositionV8Form = mrvV8;
formName = dispositionV8FormParms.getDispositionForm();
break;
}
}
}
}
break;
}
break;
}
}
}
}
public String getFormName() {
return formName;
}
public Object getDispositionV8Form() {
return dispositionV8Form;
}
}
最佳答案
您可以使用 http://commons.apache.org/proper/commons-beanutils/javadocs/v1.8.3/apidocs/org/apache/commons/beanutils/BeanUtils.html 中的 copyProperites
方法
关于java - 将一个对象的属性转换为另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52682455/