Как получить конкретные значения карты из шаблона Freemarker
Мне нужно пройти Map<String,String>
в шаблон Freemarker, а затем, внутри шаблона, выберите вишню, какие значения я извлекаю из введенной карты. Так что-то вроде:
// This map will have a 'fizz' key with a String value of 'buzz'.
Map<String,String> mymap = getSomehow();
Configuration cfg = new Configuration();
Template template = cfg.getTemplate("mytempl.ftl");
StringWriter sw = new StringWriter();
template.process(mymap, sw);
А потом, шаблон (mytempl.ftl
):
<h1>${mymap[fizz]}</h1>
Но когда я запускаю это, я получаю:
FreeMarker template error: The following has evaluated to null or missing: ==> mymap
Любые идеи, где я иду наперекосяк?
1 ответ
Решение
Первый параметр для process
Метод - это "контекст" шаблона. Таким образом, чтобы выбрать конкретные значения из карты вы можете просто использовать <h1>${fizz}</h1>
,