Freemarker: Как перебирать карту, используя перечисления в качестве ключей

Следующий код не работает, потому что Freemarker, похоже, преобразует значение выражения внутри [] в String, а затем использует его в качестве ключа, что на самом деле не соответствует ожиданиям.

Подготовка модель шаблона:

Map 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]>
    
  • ${key} = ${value}
  • В документации Freemarker описано, как получить доступ к самому Enum, но я не нашел ничего о том, как получить значение из хэша, используя Enum в качестве ключа.

    Спасибо .

    13
    задан Alex Vayda 24 March 2011 в 16:29
    поделиться