Gibt es eine Template-Sprache, die ähnlich wie Rasierklingen für Java-Spring-web-Anwendungen?
Ich bin in der Liebe mit razor-templates in .NET MVC 3. Gibt es etwas in der Nähe für java?
Ich würde etwas suchen, wo ich konnte, vermeiden Sie die Verwendung von JSTL-tags und stattdessen etwas wie das hier tun:
<c:if test=${bla}>
<span>my html</span>
</c:if>
und stattdessen tun
@if(bla)
{
<span>my html</span>
}
Ich gehe davon aus, dass es ähnlich wie
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchte ich vorstellen, meine Arbeit: Rhythmus-template-engine, eine leichte und super schnelle template-engine in Java mit dem Razor wie syntax. Rhytmus hat umfangreiche Funktionen und unterstützt die Seite layout/Vererbung, benutzerdefinierte tags (entweder im template oder java-Klasse), dynamische nachladen im dev-Modus und vieles mehr. Die benchmark zeigt Rythm ist 2 bis 3 mal schneller als Geschwindigkeit auf eine normale Seite!
Die API ist einfach:
Rendern mit inline-string:
String output = Rythm.render("@args String who;hello @who!", "world");
Rendern mit Vorlage-Datei:
String output = Rythm.render("hello.txt", "world");
Einer kurzen Einführung in die Rythm: http://software-lgl.blogspot.com.au/2012/03/rythm-easy-to-use-high-performance-java.html
Updates 20120701
Der neuesten version wurde ein feature eingeführt, genannt "String-Interpolation-Modus", mit denen Sie zu tun sehr leicht string-interpolation wie folgt:
Einen full-feature-demonstration gehostet wird, die auf GAE: http://play-rythm-demo.appspot.com/
Updates 20130406
Einem Rhythmus von fiddle web-site ist jetzt online, und Sie können es verwenden, um zu lernen, Rhythmus-syntax. Check it out auf http://fiddle.rythmengine.org
Updates 20130513
com.greenlaw110.rythm
zuorg.rythmengine
der maven-group-id entsprechend geändert@myTag(...).cache("3mn").raw().assign("myTagResult") ... @myTagResult.escape("html")
. Überprüfen Sie mehr auf "software" -lgl.blogspot.com.au/2012/04/...Soweit ich weiß, gibt es keine, die aussieht und verhält sich ganz wie Gestochen in die Java-Welt.
Aus, was ich verstehen kann, die Template-engine im Messer nicht nur zum Parsen der "Platzhalter" in den statischen text, wie
#xxx
in der Geschwindigkeit oder${xxx}
im JSP.Statt der
@
symbol in Gestochen wirkt wie ein Knebel für den Wechsel des hosting-Sprache-parser (VB und C# im Fall von Razor), die Anerkennung der vollen syntax des Elements unmittelbar nach der@
Zeichen. Dies ermöglicht die Rasierklinge zu erkennen, sowohl die Namen der Objekte an die engine wie auch die syntaktischen Strukturen, wie z.B. für Schleifen und Bedingungen.Damit eröffnet sich die volle Leistung der hosting-Sprache, te Razor-templates, die kann eine gefährliche Sache in falschen Händen...
Meisten Template-engines in der Java-Seite der Welt bewußt zu gehen, müßen gewählt, um eine strikte Trennung von business-Logik aus dem Template betrifft und somit nur eine sehr begrenzte oder gar keine Unterstützung für dynamische Funktionen wie looping oder Bedingungen in Ihrer Vorlage, "Sprachen", die sich für deklarative Stil über die dynamische.
Frühjahr unterstützt eine Reihe von Template-Sprachen:
Mehr Lesen auf, wie die Integration mit Spring, siehe auf dieser Seite.
Zusätzlich gibt es StringTemplate, die zwar nicht auf die in der offiziellen Spring-Dokumentation, verwendet werden können wie eine Feder template-engine.
Und wenn Sie wirklich wollen go wild, hier ist eine Seite mit über eine bazillion andere template-engines.
Werfen Sie einen Blick auf wirbeln, die Play-framework, template-engine getrennt von dem Rahmen.
Beispiel:
Versuchen Sie, einen Blick mit der Geschwindigkeit (http://velocity.apache.org)