В Java я используюКак использовать список Freemarker с переменной HashMap
HashMap<String, String>
, который затем доступен в моем шаблоне Freemarker.
я могу получить доступ к нему, как этот
Time:${candidFieldsList["STD-TIME_Environmental_1"]}
это будет извлекать значение ключа STD-TIME_Environmental_1 с моей карты, это работает отлично. Теперь мне нужно объединить это со списком, чтобы уменьшить избыточный код.
У меня есть область в шаблоне, который нужно повторить 4 раза
Time:${candidFieldsList["STD-TIME_Environmental_1"]}
Разница в другие части только номер, поэтому я попытался использовать этот список, чтобы решить эту проблему. Но это не сработало
<#list 1..4 as x>
Time:${candidFieldsList["STD-TIME_Environmental_"${x}]}
</#list>
Вместо возврата значения для ключа, она возвращает исключение синтаксического анализатора или строки этого выражения.
freemarker.core.ParseException: Encountered "$" at line 4, column 50 in template.ftl.
Ожидал один из: "]" ... "" "?" "!" ... "[" ... "(" ... ... ...
BTW, '' STD-TIME_Environmental _ $ {x} "' тоже работает, только '$ {x}' должен находиться внутри строкового (не-больше) литерала, в отличие от попытки OP. – ddekany