obtener el valor determinado por la clave de Hashmap en la plantilla de velocidad

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")}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=190111&siteId=1
Recomendado
Clasificación