У меня есть HashMap , который я заполняю внутри класса Java. Когда я пытаюсь распечатать его в шаблоне Velocity, он выглядит хорошо.
$!valuesMap ##gives {33=[texxxxt], 34=[2019-03-31], 35=[admin], 37=[P1], 40=[value1, value2]}
Когда я пытаюсь получить доступ к значениям напрямую, это также выглядит нормально.
$!valuesMap.get("40") ##gives [value1, value2]
Проблема возникает, когда я пытаюсь использовать динамическую переменную для доступа к карте. У меня есть список объектов, по которым я перебираю, и у каждого из этих объектов есть идентификатор. Однако я не могу понять, как извлечь значение из карты, используя этот идентификатор.
#foreach( $field in $fields )
$!field.ID ##gives the id of the object, i.e. 40
##I would assume this would give me [value1, value2] when ID is 40, but it returns nothing
$!valuesMap.get($!field.ID)
#end
Я попытался присвоить идентификатор новой переменной (сама переменная печатается нормально, но снова, когда я пытаюсь получить доступ к карте, я ничего не получаю). Я попробовал нотацию, предложенную здесь , и ничего не печатается, это честно толкает меня вверх по стене, потому что я, вероятно, упускаю что-то очень простое, но не могу понять, что это такое.