你能在速度模板中做这样的事情吗?
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key()</name>
<value>$mapEntry.value()</value>
#end
它输出空白标签,如下所示:
<name></name>
和
<value></value>
我究竟做错了什么?
你能在速度模板中做这样的事情吗?
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key()</name>
<value>$mapEntry.value()</value>
#end
它输出空白标签,如下所示:
<name></name>
和
<value></value>
我究竟做错了什么?
您的错误是将键和值称为方法(带有尾随“()”括号)而不是属性。试试这个:
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key</name>
<value>$mapEntry.value</value>
#end
换句话说,使用属性,如mapEntry.key或方法,如mapEntry.getKey()。
我正在寻找一种以速度循环遍历 HashMap 的方法,这也可以。
#set ($map = $myobject.getMap())
#foreach( $key in $map.keySet())
<name>$key</name>
<value>$resume.get($key)</value>
#end
就像在 java 中循环遍历 HashMap 的方式一样。
为了澄清(我无法评论),通常您可以使用 Java get 方法,或者将它们替换为相应的名称,不带小写字母和不带()
.
所以$mapEntry.getKey()
或map.key
。
这里的价值
itemsValue={data1=1,data2=2,data3=3}
所以,我们需要迭代这组值;
foreach ($key in ${itemsValue.keySet()})
if($itemsValue.get($key)==1)
Condition
end
end
在上面的代码中,我们可以看到检查值将类似于 -"data1,data2 etc ..." 但使用 get() 后,我们可以获取实例值。