J'essaie d'accéder aux éléments d'une HashMap. Les clés de cette HashMap sont définies par un Enum.Accès aux éléments de la carte via la clé Enum dans Freemarker
Après avoir traversé la documentation, je me suis dit que pour pouvoir accéder au Enum, je dois l'envoyer à Freemarker comme ceci:
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
TemplateHashModel enumModels = wrapper.getEnumModels();
TemplateHashModel fieldTypeModel = (TemplateHashModel)enumModels.get("com.example.MinisiteFieldType");
root.put("fieldtypes", fieldTypeModel);
Dans mon .ftl j'ai essayé les éléments suivants:
${myelement.mymap[fieldtypes.SEOTEXT]}
Cependant, je reçois: expression myelement.mymap [fieldtypes.SEOTEXT] est non définie en ligne X ...
Je voulais vous assurer que je cartographié l'e num correctement, donc j'ai essayé:
${fieldtypes.SEOTEXT}
Cela n'a pas imprimer quoi que ce soit, me laissant se demander il a par wether, ou tout simplement ne pouvait pas être imprimé.
En Java debug, juste avant d'insérer la carte TemplateHashModel dans ma racine, « fieldTypeModel » est rempli avec les données correctes ...
Toute aide serait appréciée!
Bart
J'ai essayé l'exemple .get(), mais j'ai "mymap.get est indéfini en ligne ..." :( –