BeanUtils la conversion de java.util.Carte imbriquées bean
J'ai un Java bean qui a un champ qui est à son tour un autre bean
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}
}
Je suis en train de passer d'une carte à BeanUtils pour convertir de la carte ci-dessous dans 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);
Mais il renvoyait un message d'erreur disant: - Cannot invoke BeanOne.setFieldTwo on bean class 'class Bean' - argument type mismatch - had objects of type "java.util.HashMap" but expected signature "BeanTwo"
Comment puis-je utiliser BeanUtils pour remplir correctement l'intérieur de haricot ?
Vérifier BeanOne.java's fieldTwo de type BeanTwo.. Mais setters et de lecture de Type Chaîne de caractères..
je vous remercie. j'avais accidentellement écrit que. il fixe maintenant.
Je ne crois pas que ce soit possible. Remplir
je vous remercie. j'avais accidentellement écrit que. il fixe maintenant.
Je ne crois pas que ce soit possible. Remplir
BeanTwo
, puis remplir BeanOne
.
OriginalL'auteur Skynet | 2014-02-12
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le Printemps BeanWrapper classe. Il supporte les propriétés imbriquées, et de créer éventuellement l'intérieur de haricots pour vous:
La killer feature de l'auto-création d'intérieure haricots est obtenue grâce à de
wrapper.setAutoGrowNestedPaths(true)
. La valeur par défaut est false, ce qui signifie que vous recevrez uneNullValueInNestedPathException
si un élément dans le chemin de la propriété est null.convert map to bean
solution est vraiment vraiment bon.OriginalL'auteur Gaetan
Ici nous allons vous pouvez faire comme ceci....
BeanOne.java
BeanTwo.java
Tester.java
sortie sera:-
OriginalL'auteur Naren