В приложении Apache OfBiz у меня есть такой код в контроллере:
public static String runRequest(HttpServletRequest request, HttpServletResponse response) {
Map<String, Long> typesToCount = getTypesToCount();
request.setAttribute("types", typesToCount);
return HttpFinals.RETURN_SUCCESS;
}
А в шаблоне freemarker он обрабатывается / повторяется так:
<table
<#list requestAttributes.types as key, value>
<tr>
<td>${key}</td>
<td>${value}</td>
</tr>
</#list>
</table>
На визуализированной html-странице я получаю как строковый ключ карты, так и имена методов карты (положить, удалить, добавить и т. Д.).
Что касается значений, они вообще не отображаются со следующей ошибкой:
FreeMarker template error: For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), or "template output" , but this has evaluated to a method+sequence (wrapper: f.e.b.SimpleMethodModel)
Я использую freemarker 2.3.28