我有一個Java bean其中有一個領域這又是另外一個beanBeanUtils的轉換java.util.Map嵌套豆
public class BeanOne {
private String fieldOne;
private BeanTwo fieldTwo;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
public BeanTwo getFieldTwo() {return this.fieldTwo;}
public void setFieldTwo(BeanTwo fieldTwo){this.fieldTwo = fieldTwo}
}
public class BeanTwo {
private String fieldOne;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
}
我想傳遞一個地圖BeanUtils的嘗試和轉換以下映射到BeanOne
Map beanOneMap = new HashMap<String, Object>();
beanOneMap.put("fieldOne", "fieldOneValue");
Map beanTwoMap = new HashMap<String, Object>();
beanTwoMap.put("fieldOne", "fieldOneValue");
beanOneMap.put("fieldTwo", beanTwoMap);
BeanOne beanOne = new BeanOne();
BeanUtils.populate(beanOne, beanOneMap);
但它拋出一個錯誤說 - Cannot invoke BeanOne.setFieldTwo on bean class 'class Bean' - argument type mismatch - had objects of type "java.util.HashMap" but expected signature "BeanTwo"
如何使用BeanUtils的正確填充內豆?
檢查BeanOne.java的fieldTwo類型BeanTwo ..但是setter和類型String的getter .. – Naren
謝謝。我不小心寫了那個。現在修復它。 – Skynet
我不相信這是可能的。填充'BeanTwo',然後填充'BeanOne'。 –