Что не так со следующим шаблоном?
package ${packageName}
public interface ${entityName} {
<#list methods as methodName, map >
public void ${methodName}(${map}) ;
</#list>
}
что дает на версии 2.3.23:
freemarker.core.ParseException: Syntax error in template "javaclass.ftl" in line 5, column 29:
Encountered ",", but was expecting:
">"
at freemarker.core.FMParser.generateParseException(FMParser.java:5251)
at freemarker.core.FMParser.jj_consume_token(FMParser.java:5122)
at freemarker.core.FMParser.List(FMParser.java:1431)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2827)
at freemarker.core.FMParser.MixedContent(FMParser.java:3081)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:3253)
at freemarker.core.FMParser.Root(FMParser.java:3432)
at freemarker.template.Template.<init>(Template.java:208)
at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:495)
В документации приведен следующий пример для хеш-структуры.
Список хэшей очень похож, но вам нужно указать два имени переменных после as; один для хэш-ключа, а другой для связанного значения. Предполагая, что продукты { "яблоко": 5, "банан": 10, "киви": 15}:
<#list products as name, price> <p>${name}: ${price} </#list> <p>apple: 5 <p>banan: 10 <p>kiwi: 15
Обратите внимание, что мой пример перед отправкой контента.