Следующий код не работает, потому что Freemarker, похоже, использует значение выражения внутри [] для String, а затем использует его как ключ, который не является тем, что на самом деле ожидается.
Подготовка модели шаблона:
Map<MyEnum, Object> myMap;
myMap.put(MyEnum.FOO, "Foo");
myMap.put(MyEnum.BAR, "Bar");
templateModel.put("myMap", myMap);
my.ftl:
<#list myMap?keys as key>
<#assign value = myMap[key]>
<li>${key} = ${value}</li>
</#list>
В документации Freemarker описано, как получить доступ к самому Enum, но я ничего не нашел о том, как получить значение из хэш с использованием Enum в качестве ключа.
Спасибо.