Java 谷歌应用程序引擎的模板引擎

Java 谷歌应用程序引擎的模板引擎,java,google-app-engine,templates,wicket,freemarker,Java,Google App Engine,Templates,Wicket,Freemarker,你能为GAE推荐一个模板引擎吗? 我喜欢,但它带有很多服务器端状态,这与GAE方法不太兼容 GAE是否支持 编辑 我对模板引擎的主要要求是: 易于开发(逻辑和设计分离) 直观的语法,因为用户可以自定义一些模板 快速、轻便 请查看。它已经并且完全是。我在GAE上非常成功地使用了FreeMarker。我有它处理所有的html文件与欢迎文件目录处理工作良好。有关详细信息,请参阅。我在那里有我的web.xml文件和其他详细信息。Rythm是一个强类型Java模板引擎,使用类似的语法,具有高性能(比Ve

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

GAE是否支持

编辑

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

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

请查看。它已经并且完全是。

我在GAE上非常成功地使用了FreeMarker。我有它处理所有的html文件与欢迎文件目录处理工作良好。有关详细信息,请参阅。我在那里有我的web.xml文件和其他详细信息。

Rythm是一个强类型Java模板引擎,使用类似的语法,具有高性能(比Velocity和FM快2到3倍)。它提供了一种非常轻量级的字符串插值方法:

String result = Rythm.render("hello @who!", "world");
这种简单性使得Ryth在许多情况下都能很好地替代
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);
Map args=newhashmap();
args.put(“谁”、“世界”);
...
String result=Rythm.render(“myTemplate.html”,args);
Rythm具有非常丰富的功能集,包括java流控制(if-else、for-loop、collection-iteration)、模板继承、外部和内部标记创建和调用、缓存、java方法扩展、空间压缩、html escape等。大多数功能在上进行了演示。(是的,这个演示是用Play!Framework+Rythm模板引擎编写的,它正在GAE上运行!)

有游戏!在Rythm引擎上创建的框架插件,您可以从中找到有关如何使用Rythm的文档:


您可以从

下载Rythm,这似乎表明Java App Engine(当前)不支持FreeMarker查看将在Java App Engine中运行的框架列表。您的具体要求是什么?JSP对于GAE/J是开箱即用的。freemarker现在对于GAE是可用的“关闭为非建设性”?让我休息一下+1看起来非常令人印象深刻!谢谢我的freemarker和eclipse一直存在问题,当我运行mvn appengine:deploy时,它似乎没有将.ftl文件部署到gae,请问您是如何通过的?很抱歉,我有一段时间没有使用gae。我想我让freemarker处理程序默认呈现所有HTML文件@I.Tyger。