Я знаю, что FTL — это чисто механизм рендеринга, и это должно быть сделано в контроллере, но в моем сценарии мне нужно предоставить несколько представлений одних и тех же данных.
Я могу легко написать FTL, который отображает XML, а затем преобразуется в JSON, если это необходимо, с помощью специального фильтра. Однако у нас есть тонны FTL, чтобы сделать. Модель данных будет универсальной. Хотя подход XML является вариантом, я не хотел бы повторять снова и снова одни и те же элементы XML (разные члены команды, пишущие XML-элементы ручной работы, являются рецептом ошибок, мы должны быть уверены, что разметка одинакова и т. д.)
Однако мне было интересно, могу ли я просто заполнить объект в моем FTL
// Предположим, что FreMarkerResolver представил мою выходную метамодель как часть модели someObject.addRecords(Records)
// здесь немного логики request.setAttribute("data",someObject);
Итак, мой фильтр сервлета просто преобразует объект данных в JSON, xml, YAML или во что угодно.
Я где-то читал, что, например, сессия не может быть изменена из FTL, но как насчет запроса? Можем ли мы хотя бы установить новый атрибут?
Спасибо