在速度中你可以迭代java hashmap的条目集()吗?

Ayr*_*rad 41 java xml velocity template-engine

你能在速度模板中做这样的事情吗?

#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
    <name>$mapEntry.key()</name>
    <value>$mapEntry.value()</value>
#end
Run Code Online (Sandbox Code Playgroud)

它会像这样输出空白标签:

<name></name> 
Run Code Online (Sandbox Code Playgroud)

<value></value> 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Yon*_*oni 103

您的错误是将称为方法(使用尾随"()"括号)而不是属性.试试这个:

#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
    <name>$mapEntry.key</name>
    <value>$mapEntry.value</value>
#end
Run Code Online (Sandbox Code Playgroud)

换句话说,使用属性(如mapEntry.key)或方法(如mapEntry.getKey()).


All*_*uin 5

我正在寻找一种在速度中循环HashMap的方法,这也可以.

#set ($map = $myobject.getMap())
#foreach( $key in $map.keySet())
      <name>$key</name>
      <value>$resume.get($key)</value>
#end
Run Code Online (Sandbox Code Playgroud)

就像你在java中循环HashMap的方式一样.