2010-11-09 15 views
17

¿Puede recomendar un motor de plantilla para GAE? Me gusta Wicket, pero lleva un montón de estado del lado del servidor, que es algo que no es muy compatible con el enfoque GAE.Motor de plantilla para Google App Engine

¿Se admite FreeMarker en GAE?

EDITAR

Mis requisitos principales para el motor de plantilla son:

  • Facilidad de desarrollo (separación de la lógica y el diseño)
  • sintaxis intuitiva, ya que los usuarios pueden personalizar algunas plantillas
  • Rápido, ligero
+1

AppEngine/Java específicamente? –

+1

http://freemarker.blogspot.com/2010/02/freemarker-on-google-app-engine.html parece indicar que FreeMarker no es (actualmente) compatible con Java App Engine –

+2

Ver http://code.google .com/p/googleappengine/wiki/WillItPlayInJava para obtener una lista de marcos que se ejecutarán en Java App Engine. –

Respuesta

2

Estoy usando FreeMarker en GAE con bastante éxito. Lo tengo manejando todos los archivos html con manejo de directorio de archivos de bienvenida funcionando bien. Para obtener más información, consulte this other stackoverflow question. Tengo mi archivo web.xml y otros detalles allí.

+0

Sigo teniendo un problema con mi freemarker y eclipse, no parece desplegar el archivo .ftl en gae cuando ejecuto mvn appengine: deploy, ¿cómo se pasó esto? –

+0

Lo siento, no he usado GAE por un tiempo. Creo que hice que el manejador freemarker renderizara todos los archivos HTML de forma predeterminada @ I.Tyger. – Gray

1

Rythm es un potente motor de plantillas Java que usa Razor como sintaxis de alto rendimiento (2 a 3 veces más rápido que Velocity y FM). Proporciona una manera muy ligera que hacer cadena de interpolación:

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

Esta simplicidad hace Rythm un buen reemplazo para String.format() en muchos casos. Obsérvese por favor que Rythm.render es 2 veces más rápido que String.format

Para la plantilla completa se puede utilizar la misma interfaz para pasar el nombre de archivo:

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

Ritmo tiene el conjunto de características muy rica que incluye el control de flujo de Java (si- else, for loop, iteración de colección), herencia de plantilla, creación e invocación de etiquetas externas e internas, caching, extensión de método Java, espacio compacto, html escape etc. La mayoría de las funciones se muestran en http://play-rythm-demo.appspot.com/. (Y sí, la demostración está escrita con el motor de plantillas Play! Framework plus Rythm y se ejecuta en GAE)

Existe el plugin Play! Framework creado en el motor de Rythm, puede encontrar documentación sobre cómo usar Rythm desde allí : http://www.playframework.org/modules/rythm

puede descargar Ritmo de https://github.com/greenlaw110/rythm/downloads