Google App Engine的模板引擎

时间:2010-11-09 18:47:31

标签: java google-app-engine templates wicket freemarker

您能为GAE推荐模板引擎吗? 我喜欢Wicket,但它带有很多服务器端状态,这与GAE方法不兼容。

GAE是否支持FreeMarker

修改

我对模板引擎的主要要求是:

  • 易于开发(逻辑与设计的分离)
  • 直观的语法,因为用户可以自定义一些模板
  • 快速,轻量级

3 个答案:

答案 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.renderString.format

快2倍

对于综合模板,您可以使用相同的界面传递文件名:

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

您可以从https://github.com/greenlaw110/rythm/downloads

下载Rythm