margarita:
Tengo un código java, como a continuación
public static void main(String args[]) throws Exception {
VelocityEngine engine = new VelocityEngine();
engine.init();
Template template = engine.getTemplate("userinfo.vm");
VelocityContext vc = new VelocityContext();
Map<String, Object> jsonResponse = new HashMap<String, Object>();
jsonResponse.put("44", "United Kingdom");
jsonResponse.put("33", "France");
jsonResponse.put("49", null);
vc.put("userList", jsonResponse);
StringWriter writer = new StringWriter();
template.merge(vc, writer);
System.out.println(writer);
}
en el archivo .vm
#foreach ($mapEntry in $userList.entrySet())
$!{mapEntry.get("44")}
#end
Aquí estoy tratando de obtener el valor particular utilizando el código de seguridad, pero no es dar salida esperada
Mi salida esperada es
United Kingdom
pleft:
Utilizar este código para iterar a través de sus valores de mapa. Es casi lo mismo que el suyo sin embargo presten atención: $userList.keySet()
en lugar de $userList.entrySet()
y $!{userList.get($mapKey )}
en lugar de$!{mapEntry.get("44")}
#foreach($mapKey in $userList.keySet())
$!{userList.get($mapKey )}
#end
Si sólo desea acceder a un valor específico de su mapa intente esto:
$!{userList.get("44")}