Frage

Unter der Java Templating Lösungen wie Apache Velocity, Freemarker, Hamlets, Tapisserie, String, JSP, JSP Weaver (andere?), die am ehesten die Prägnanz und Einfachheit ähnlicher HTML Templating Lösungen in Ruby annähern würden - haml / erb. Ich bin sowohl mit der Syntax der Template-Engine betroffen und wie einfach es integriert mit Controller-Code auf dem Server.

War es hilfreich?

Lösung

ich denke, was u erhält auf diese ist

Rubin

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

java

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

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

so die Tags sind ähnlich

für die eine Java-Seite des Controllers, Ansichten Feder bietet eine Möglichkeit, sie schön zu trennen

Andere Tipps

Die Praxis Code und Daten des Mischens wird auf in Java viel mehr runzelt die Stirn, so als in Ruby. Die empfohlene Java Praxis ist Taglibs anstelle von Codeblöcken zu verwenden. Ich erwähne das nur, weil, wenn Sie Ihre Java-Vorlagen auf die gleiche Weise schreiben, wie typische Ruby-Vorlagen, anderen Java-Entwickler (ich nehme an, Sie in einem Team arbeiten) geeignet sind, sich zu beschweren.

So jetzt Ihre Frage ..... Standard JSPs zusammen mit JSTL und EL ist wirklich keine schlechte Lösung zu beantworten. Aber für zusätzliche Prägnanz Besuche GSPs, die Lösung Templating von Grails verwendet. Sie können GSPs verwenden in jedem Java-Webapp, das heißt Sie brauchen nicht Groovy / Grails werden.

... Sie können sogar PHP verwenden, wenn Sie möchten mit Quercus . Sie könnten dann, wie JSP, Geschwindigkeit usw. verwenden diese als ‚Ansicht‘ und Feder oder Streben, etc., um den Controller zu behandeln (s).

Ein Projekt, das wir vor einiger Zeit taten, war mit JSP und Streben und Feder. Sie sind alle integriert schön und wir konnten tun, was beschrieben wurde.

Die meisten Rendering / Template-Engines unterschiedliche Syntax hat. Die beuty (und Tier) von Java ist, dass Sie auswählen können, die Syntax, die Sie fühlen sich wohler mit und verwenden, die mit dem Controller / Behälter der Wahl.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top