Welche Java-HTML-Template-Technologie arbeitet in einer Weise, die am nächsten zu Ruby (erb / haml)?
-
03-07-2019 - |
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.
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.