FreeMarker
FreeMarker | |
---|---|
![]() | |
Тип | Шаблонизатор |
Разработчики | Jonathan Revusky, Attila Szegedi, Dániel Dékány и другие |
Написана на | Java |
Операционная система | Кроссплатформенное программное обеспечение |
Первый выпуск | 2 сентября 2015[1] |
Последняя версия | 2.3.31 (10 февраля 2021 года) |
Тестовая версия | 2.4 Preview 1 (16 июля 2008 года) |
Репозиторий | git.apache.org/incubator… |
Состояние | Active |
Лицензия | BSD-like License |
Сайт | freemarker.org |
FreeMarker — компилирующий обработчик шаблонов, написанный на Java, один из инструментов, позволяющих отделить логику и данные от представления в духе концепции Model-view-controller. Используется преимущественно при разработке приложений для паутины с использованием Java-сервлетов, также может использоваться для вывода текста в других случаях: генерация CSS, исходного кода Java и т. д. В отличие от JSP FreeMarker не является зависимым от архитектуры сервлета или от протокола HTTP. Таким образом шаблонизатор может использоваться не только в web-проектах. FreeMarker является свободным ПО.
Пример кода
Данный шаблон,
<html> <body> <p>Hello ${name}! You have the following messages: <#list messages as m> <p><b>${m.from}:</b> ${m.body}</p> </#list> </body> </html>
обработанный шаблонизатором FreeMarker, сгенерирует следующую html-страницу:
<html> <body> <p>Hello Joe! You have the following messages: <p><b>Tim:</b> Please don't forget to bring the conference papers!</p> <p><b>Cindy:</b> Can you give me visit afternoon?</p> <p><b>Richard:</b> Man, this time don't forget the papers!</p> </body> </html>
Переменные «name» и «messages» были определены до генерации шаблона, так что верстальщик сможет сконцентрироваться только на вопросах правильного отображения содержимого. Шаблон остаётся неизменным в независимости от значения переменной и от того, откуда она была получена. Кроме того, API Java-бинов может быть скрыто с использованием техники, именуемой упаковка объектов (object wrapping). Например, «messages» может быть как списком или массивом Java-бинов, имеющих поля «from» и «body», так и чем-нибудь другим. Шаблон при этом менять не придётся, если при этом использовать правильную обёртку для объекта (object wrapper).
Проекты и технологии, которые поддерживают Freemarker
- Software that incorporates FreeMarker
См. также
Примечания
- ↑ https://projects.apache.org/json/projects/incubator-freemarker.json
Ссылки
- Сайт FreeMarker
- FreeMarker Classic
- FMPP — текстовый препроцессор, основанный на FreeMarker.