Подтвердить что ты не робот

Django-подобная система шаблонов для Java?

Я ищу механизм шаблонов для Java с синтаксисом, например, в шаблонах Django или Twig (PHP). Он существует?

Обновление: Цель состоит в том, чтобы иметь одинаковые файлы шаблонов для разных языков.

<html>
{{head}}
{{ var|escape }}
{{body}}
</html>

может быть отображен из кода python (Django), а также из PHP с помощью Twig. Я ищу решение Java.

Любая другая система шаблонов, доступная в Java, PHP и python, подходит.

4b9b3361

Ответ 2

Я разработал Jtwig. Вы можете попробовать. Он используется в некоторых проектах с успехом. Он легко настраивается с хорошей интеграцией с spring webmvc.

Просто включите зависимость, используя maven или аналогичную систему.

<dependency>
  <groupId>com.lyncode</groupId>
  <artifactId>jtwig-spring</artifactId>
  <version>2.0.3</version>
</dependency>

И сконфигурируйте распознаватель изображений bean, чтобы вернуть Jtwig.

@Bean
public ViewResolver viewResolver() {
    JtwigViewResolver viewResolver = new JtwigViewResolver();
    viewResolver.setPrefix("/WEB-INF/views/");
    viewResolver.setSuffix(".twig");
    return viewResolver;
}

Или, если вы используете базовые конфигурации xml:

<bean id="viewResolver" class="com.lyncode.jtwig.mvc.JtwigViewResolver">
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".twig"/>
</bean>

Ответ 3

Если вам нужны одинаковые шаблоны для разных языков, вы можете взглянуть на Clearsilver.

Clearsilver - это движок шаблонов, нейтральный для языков, который помогает разделить презентацию от кода, вставив безрисковый иерархический формат данных (HDF) между вашим кодом и шаблонами. Подумайте о HDF, как XML, но гораздо проще.

Он используется для многих сайтов с высоким трафиком, включая Yahoo! Группы, Gmail Static HTML, orkut.com, wunderground.com и другие. Языки реализации, используемые с ним, включают C/С++, Python, Java, Ruby, PHP, С# и другие. Рамка Python также включает диспетчер страниц и простой ORM, который немного похож на Ruby-On-Rails, так как он делает сопоставление между таблицами базы данных, HDF и шаблонами, принимает очень мало кода.

Основная реализация Clearsilver - это C с языковыми оболочками. Существует также 100% -ная реализация Java, сделанная Google и открытая под названием JSilver.

http://www.clearsilver.net/

http://code.google.com/p/jsilver/

Ответ 4

Конечно, для Java существуют всевозможные движки шаблонов. Я использовал FreeMarker, Velocity и StringTemplate. Я не уверен, что вы подразумеваете под синтаксисом, подобным Django; каждый двигатель имеет свои собственные вариации на основе шаблонов.

Для сравнения некоторых разных двигателей проверьте здесь.

Ответ 5

Вы можете использовать Mustache.java и Handlebars.java. Усы очень минималистичны. Ручки похожи и совместимы с Mustache, но вы можете очень легко писать свои собственные расширения.