您能为GAE推荐模板引擎吗? 我喜欢Wicket,但它带有很多服务器端状态,这与GAE方法不兼容。
GAE是否支持FreeMarker?
修改
我对模板引擎的主要要求是:
答案 0 :(得分:7)
答案 1 :(得分:2)
我在GAE上使用FreeMarker非常成功。我有它处理所有的欢迎文件目录处理工作正常的html文件。有关更多信息,请参阅this other stackoverflow question。我有我的web.xml文件和其他详细信息。
答案 2 :(得分:1)
Rythm是一个强类型的Java模板引擎,使用Razor类似语法,具有高性能(比Velocity和FM快2到3倍)。它提供了一种非常轻量级的字符串插值方法:
String result = Rythm.render("hello @who!", "world");
在许多情况下,这种简单性使得Rythm成为String.format()
的良好替代品。请注意,Rythm.render
比String.format
对于综合模板,您可以使用相同的界面传递文件名:
Map<String, Object> args = new HashMap<String, Object>();
args.put("who", "world");
...
String result = Rythm.render("myTemplate.html", args);
Rythm具有非常丰富的功能集,包括java流控制(if-else,for循环,集合迭代),模板继承,外部和内部标签创建和调用,缓存,Java方法扩展,空间紧凑,html转义等。这些功能在http://play-rythm-demo.appspot.com/得到了证明。 (是的,演示是用Play!Framework和Rythm模板引擎编写的,它在GAE上运行!)
在Rythm引擎上创建了Play!Framework插件,您可以从那里找到有关如何使用Rythm的文档:http://www.playframework.org/modules/rythm
下载Rythm