Ich habe eine Java-Bean, die ein Feld hat, die wiederum ist eine weitere BohneBeanUtils java.util.Map zu verschachtelt Bohne Umwandlung
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}
}
Ich versuche, eine Karte zu BeanUtils passieren, um zu versuchen und wandeln die folgenden Karte in 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);
Aber es wirft einen Fehler zu sagen - Cannot invoke BeanOne.setFieldTwo on bean class 'class Bean' - argument type mismatch - had objects of type "java.util.HashMap" but expected signature "BeanTwo"
Wie kann ich BeanUtils verwenden, um richtig die innere Bohne bevölkern?
Überprüfen Sie BeanOne.java fieldTwo Typ BeanTwo .. Aber Setter und Getter Typ String .. – Naren
danke. Ich hatte das versehentlich geschrieben. habe es jetzt behoben. – Skynet
Ich glaube nicht, dass das möglich ist. Füllen Sie 'BeanTwo' aus und füllen Sie dann' BeanOne' damit aus. –