Библиотека шаблонов Java похожа на ZPT (язык атрибутов) - PullRequest
2 голосов
/ 04 ноября 2011

Я недавно использовал ZPT в python, и мне нравится язык шаблонов. Я искал что-то подобное для Java, но не смог найти ничего, что бы мне понравилось. Ближайшая вещь FreeMarker .

Проблема с FreeMarker и другими шаблонизаторами Java, на которые я смотрел, заключалась в их синтаксисе в стиле JSP, который допускает несоответствующий XML. Мне просто интересно, существует ли шаблонизатор Java, похожий на шаблоны страниц Zope, такой, что это язык «атрибутов», требующий действительный xml.

Ответы [ 7 ]

2 голосов
/ 05 ноября 2011

Я думаю, что есть несколько шаблонных движков, которые вы ищете:

  • Cambridge
  • Thymeleaf
  • JTP (мертвая - но точная реализация)
  • javaTAL (мертвая - но точная реализация)

Другие подходы, поддерживающие действительный html:

1 голос
/ 11 июля 2012

В настоящее время я знаю две реализации для Java:

1 голос
/ 13 марта 2012

Существует Distal для клиентских шаблонов.

1 голос
/ 22 февраля 2012

Явный шаблонный движок, который вы найдете наиболее похожим на Chameleon: Thymeleaf .

1 голос
/ 04 ноября 2011

FreeMarker имеет неприятную зависимость от AWT . Это делает невозможным использование с такими вещами, как Google App Engine.

Я предпочитаю использовать StringTemplate для всех моих потребностей в шаблонах Java. Это единственная система шаблонов на основе Java, которая строго отделяет логику от шаблона.

StringTemplate - это движок шаблонов Java (с портами для C #, Python, Ruby и Scala) для создания исходного кода, веб-страниц, электронных писем или любых других другой форматированный текстовый вывод. StringTemplate особенно хорош в многоцелевые генераторы кода, несколько скинов сайта и интернационализация / локализации

Его отличительной чертой является , которую он строго соблюдает разделение вида модели в отличие от других двигателей . Строгое разделение делает веб-сайты и генераторы кода более гибкие и поддерживаемые; это также обеспечивает превосходную защиту от вредоносных авторов шаблонов.

Поскольку вы генерируете XML

Другое решение, которое на первый взгляд неочевидно, - это использование JAXB. У нас есть проект, который требует от нас генерации XML, у нас есть очень хорошо определенные XSD-файлы для выходных файлов, создание объектов и их сортировка очень просты и очень безболезненны.

0 голосов
/ 05 ноября 2011

А как насчет GXP ?

Есть также LSP и xtempore .

0 голосов
/ 04 ноября 2011

Существует также Apache Velocity . Хотя это не требует, чтобы ваши шаблоны были действительными XML. Это может быть нарушителем сделки для вас, учитывая вопрос. Возможно, вы могли бы применить это правило с помощью расширений основных классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...