2010-11-09 26 views
17

Können Sie eine Vorlagen-Engine für GAE empfehlen? Ich mag Wicket, aber es trägt eine Menge von serverseitigen Zustand, was etwas nicht mit dem GAE-Ansatz kompatibel ist.Vorlagen-Engine für Google App Engine

Wird FreeMarker auf GAE unterstützt?

EDIT

Meine primäre Anforderungen an die Template-Engine sind:

  • Einfache Entwicklung (Trennung von Logik und Design)
  • Intuitive Syntax, da die Benutzer können einige Vorlagen anpassen
  • Schnell, leicht
+1

AppEngine/Java herunterladen kann? –

+1

http://freemarker.blogspot.com/2010/02/freemarker-on-google-app-engine.html scheint darauf hinzuweisen, dass FreeMarker in Java App Engine (derzeit) nicht unterstützt wird –

+2

Siehe http://code.google Eine Liste der Frameworks, die in Java App Engine ausgeführt werden, finden Sie unter http://www.microsoft.com/germany/microsoft/wiki/WillItPlayInJava. –

Antwort

2

Ich verwende FreeMarker auf GAE ziemlich erfolgreich. Ich habe es alle HTML-Dateien behandeln mit dem Willkommens-Datei-Verzeichnis Handhabung funktioniert gut. Weitere Informationen finden Sie unter this other stackoverflow question. Ich habe meine web.xml-Datei und andere Details dort.

+0

Ich habe weiterhin ein Problem mit meinem Freemarker und Eclipse, Es scheint nicht die .ftl - ​​Datei zu gae zu implementieren, wenn ich mvn appengine: deploy, Bitte, wie hast du das bestanden? –

+0

Leider habe ich GAE eine Weile nicht benutzt. Ich denke, ich habe den Freemarker-Handler alle HTML-Dateien standardmäßig @ I.Tyger rendern. – Gray

1

Rythm ist eine stark typisierte Java-Template-Engine mit Razor wie Syntax mit hoher Leistung (2 bis 3 mal schneller als Velocity und FM). Es bietet eine sehr leichte Art und Weise String Interpolation zu tun:

String result = Rythm.render("hello @who!", "world"); 

Diese Einfachheit macht Rythm ein guter Ersatz für String.format() in vielen Fällen. Bitte zu beachten, dass Rythm.render ist 2x schneller als String.format

Für eine umfassende Vorlage, die Sie die gleiche Schnittstelle im Dateinamen weitergeben können:

Map<String, Object> args = new HashMap<String, Object>(); 
args.put("who", "world"); 
... 
String result = Rythm.render("myTemplate.html", args); 

Rythm hat sehr großen Funktionsumfang einschließlich Java-Flusssteuerung (wenn- else, for loop, Collection-Iteration), Template-Vererbung, externe und interne Tags erstellen und aufrufen, Caching, Java-Methodenerweiterung, Space compact, html escape usw. Die meisten Funktionen werden unter http://play-rythm-demo.appspot.com/ demonstriert. (Und ja, die Demo ist mit Play! Framework plus Rythm Template Engine geschrieben und läuft auf GAE!)

Es gibt Play! Framework Plugin erstellt auf Rythm-Engine, können Sie Dokumentation finden, wie man Rythm von dort verwenden : http://www.playframework.org/modules/rythm

Sie Rythm von https://github.com/greenlaw110/rythm/downloads speziell