В скорости вы можете выполнить итерацию через набор ввода хэш-символов java()?
Можете ли вы сделать что-то подобное в шаблоне скорости?
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key()</name>
<value>$mapEntry.value()</value>
#end
он выводит пустые теги следующим образом:
<name></name>
и
<value></value>
Что я делаю неправильно?
Ответы
Ответ 1
Ваша ошибка связана с ключом и значением как методы (с конечной скобкой "()", а не как свойствами. Попробуйте следующее:
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key</name>
<value>$mapEntry.value</value>
#end
Другими словами, используйте либо свойство, например mapEntry.key, либо метод, например mapEntry.getKey().
Ответ 2
Я ищу способ прокрутки HashMap по скорости, и это тоже будет работать.
#set ($map = $myobject.getMap())
#foreach( $key in $map.keySet())
<name>$key</name>
<value>$resume.get($key)</value>
#end
Точно так же, как вы можете пропустить HashMap в java.
Ответ 3
Здесь значение
itemsValue={data1=1,data2=2,data3=3}
Итак, нам нужно перебрать группу значений,
foreach ($key in ${itemsValue.keySet()})
if($itemsValue.get($key)==1)
Condition
end
end
В приведенном выше коде мы можем видеть, что значение будет выглядеть как "data1, data2 и т.д."
но после использования get() мы можем получить значение экземпляра.
Ответ 4
Чтобы прояснить (я не могу комментировать), в общем, вы можете использовать либо методы get Java, либо заменить их соответствующим именем без малой буквы и без ()
.
So $mapEntry.getKey()
или map.key
.