Библиотека шаблонов Java, похожая на ZPT (язык атрибутов)

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

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


person Falmarri    schedule 03.11.2011    source источник


Ответы (7)


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

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

person Bernd    schedule 05.11.2011

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

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

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

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

Поскольку вы создаете XML

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

person Community    schedule 03.11.2011

Вы обнаружите, что наиболее похожим на Chameleon механизмом шаблонов Java является Thymeleaf.

person Daniel Fernández    schedule 22.02.2012

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

person Kernel James    schedule 13.03.2012

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

person Martijn Pieters    schedule 11.07.2012

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

person Scott    schedule 03.11.2011

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

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

person Dave Newton    schedule 05.11.2011