Jump to content

FreeMarker

(Перенаправлено с Apache FreeMarker )
Apache FreeMarker
Разработчик(и) Джонатан Ревуски, Аттила Сегеди, Даниэль Декани и другие.
Первоначальный выпуск 2000
Стабильная версия
2.3.33 / 1 июня 2024 г .; 2 месяца назад ( 01.06.2024 )
Репозиторий github /апач /фримаркер
Написано в Ява
Операционная система Кросс-платформенный
Тип Шаблонизатор
Лицензия Лицензия Апач 2.0
Веб-сайт свободный маркер .apache .org

Apache FreeMarker — это бесплатный Java на основе механизм шаблонов , изначально ориентированный на генерацию динамических веб-страниц с использованием MVC программной архитектуры . Теперь он может генерировать текст на основе шаблонов и изменяющихся данных. [ 1 ] Он не зависит от сервлетов , HTTP или HTML . [ 2 ]

Его часто используют для создания исходного кода, файлов конфигурации или электронных писем.

Примерно до 2004 года у FreeMarker была довольно беспокойная история, вызванная сменой парадигмы неоднократной и другими значительными изменениями. FreeMarker 1 (теперь известный как FreeMarker Classic, отдельный проект) изначально был написан Бенджамином Гиром и Майком Байером. С 2002 года новым руководителем проекта стал Джонатан Ревуски, выпустивший FreeMarker 2, положивший начало серии нескольких существенных изменений. Основная цель изменений заключалась в том, чтобы сделать язык шаблонов более строгим, т.е. выявить как можно больше опечаток и других типичных ошибок. Кроме того, была введена автоматическая упаковка объектов и постепенное развитие системы типов языка шаблонов. Язык приобрел множество функций для опытных пользователей, таких как более мощные возможности программирования макросов и пространства имен. Язык достиг вполне устоявшегося состояния с версией 2.3, выпущенной в третьем квартале 2004 года. По состоянию на 2022 год продукт сохранил обратную совместимость. В будущем в серии FreeMarker 2 не ожидается существенных изменений, несовместимых с предыдущими версиями.

В конце 2015 года FreeMarker был передан Apache Software Foundation , где он вошел в инкубатор Apache, а в 2018-03-21 он стал полностью принятым проектом Apache.

Следующий шаблон:

<html>
<body>
<p>Hello ${name}! You have the following messages:
<#list messages as m>
  <p><b>${m.from}:</b> ${m.body}</p>
</#list>
</p>
</body>
</html>

обработанный FreeMarker, выдаст что-то вроде:

<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 a visit this afternoon?</p>
  <p><b>Richard:</b> Don't forget the papers this time!</p>
</p>
</body>
</html>

Такие переменные, как «имя» и «сообщения», поступают извне шаблона, поэтому автору шаблона приходится иметь дело только с проблемами представления. Шаблон остается неизменным независимо от того, берутся ли эти переменные из базы данных, из файла cookie или рассчитываются каким-либо другим способом. Кроме того, точный Java API (и, следовательно, класс) значений можно скрыть в FreeMarker с помощью метода, называемого переносом объектов. Например, «сообщения» кажутся списком или массивом JavaBeans , имеющим свойства «from» и «body», но с таким же успехом это может быть что-то совсем другое, и шаблон не затрагивается (пока правильная оболочка объекта используется).

См. также

[ редактировать ]
  1. ^ Кардоса, Кристина (27 марта 2017 г.). «Обновлены Apache Calcite, FreeMarker, Gora, Phoenix и Solr» . СД Таймс . Проверено 5 февраля 2024 г.
  2. ^ Миттапалли, Джишну Саурав; Артур, Менака Пушпа (2021). «Обзор шаблонизаторов в Java». Сеть конференций ITM . 37 . EDP ​​Science: 01007.doi 10.1051/ itmconf : /20213701007 . ISSN   2271-2097 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c176d478ac60f5b9583123fcce21b3d0__1717321140
URL1:https://arc.ask3.ru/arc/aa/c1/d0/c176d478ac60f5b9583123fcce21b3d0.html
Заголовок, (Title) документа по адресу, URL1:
FreeMarker - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)