Какая технология шаблонов HTML в Java наиболее близка к Ruby (erb/haml)?

StackOverflow https://stackoverflow.com/questions/816600

Вопрос

Среди Явы шаблонные решения такие как Apache Velocity, Freemarker, Hamlets, Tapestry, StringTemplate, JSP, JSP Weaver (другие?), которые наиболее точно соответствуют краткости и простоте аналогичных решений для шаблонов HTML в Ruby - haml/erb.Меня беспокоит как синтаксис шаблонизатора, так и то, насколько просто он интегрируется с кодом контроллера на сервере.

Это было полезно?

Решение

я думаю, ты к этому клонишь

Рубин

<% foreach vars do |var| %>
  <!-- some html code to do -->
  <%=h var %>
<% end %>

Джава

<% for( int i = 0; i < vars.length; i++ ) { %>

   <%=vars[i]%>
<% }  %>

так что теги похожи

для Java-стороны контроллера представления Spring предоставляют возможность красиво их разделить.

Другие советы

Практика смешивания кода и данных неодобрительна в Java гораздо больше, чем в Ruby. Рекомендуемая практика Java заключается в использовании тегов вместо блоков кода. Я упоминаю об этом только потому, что если вы пишете свои шаблоны Java так же, как типичные шаблоны Ruby, другие разработчики Java (я полагаю, вы работаете в команде), скорее всего, будут жаловаться.

Итак, теперь, чтобы ответить на ваш вопрос ..... стандартные JSP вместе с JSTL и EL на самом деле не плохое решение. Но для большей краткости, проверьте GSP, шаблонное решение, используемое Grails. Вы можете использовать GSP в любом веб-приложении на Java, то есть вам не нужно использовать Groovy / Grails.

... Вы даже можете использовать PHP, если хотите использовать Quercus . Тогда вы, как и JSP, Velocity и т. Д., Можете использовать их как «представление» и пружину или распорки и т. Д. Для управления контроллером (ами).

Проект, который мы делали некоторое время назад, был с JSP и стоек и весной. Все они прекрасно интегрировались, и мы могли сделать то, что было описано.

Большинство механизмов рендеринга / шаблонов имеют различный синтаксис. Преимущество (и чудовище) Java в том, что вы можете выбрать, какой синтаксис вам удобнее, и использовать его с вашим контроллером / контейнером по выбору.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top