Google App Engine 的模板引擎 [关闭]
Posted
技术标签:
【中文标题】Google App Engine 的模板引擎 [关闭]【英文标题】:Template engine for Google App Engine [closed] 【发布时间】:2011-05-07 10:36:42 【问题描述】:你能推荐一个 GAE 的模板引擎吗? 我喜欢Wicket,但它承载了很多服务器端状态,这与GAE方法不太兼容。
GAE 是否支持FreeMarker?
编辑
我对模板引擎的主要要求是:
易于开发(逻辑和设计分离) 直观的语法,因为用户可以自定义一些模板 快速、轻量【问题讨论】:
freemarker.blogspot.com/2010/02/… 似乎表明 Java App Engine(当前)不支持 FreeMarker 有关将在 Java App Engine 中运行的框架列表,请参阅 code.google.com/p/googleappengine/wiki/WillItPlayInJava。 您的具体要求是什么? JSP 可用于 GAE/J。 freemarker 现在可用于 GAE freemarker.blogspot.com/2010/02/… repo1.maven.org/maven2/org/freemarker/freemarker-gae “因不具建设性而关闭”?让我休息一下! +1 【参考方案1】:查看Play framework。它有support for GAE,完全是stateless server-side。
【讨论】:
看起来非常令人印象深刻!谢谢!【参考方案2】:我在 GAE 上使用 FreeMarker 非常成功。我让它处理所有带有欢迎文件目录处理的html文件工作正常。有关详细信息,请参阅this other *** question。我有我的 web.xml 文件和其他详细信息。
【讨论】:
我的 freemarker 和 eclipse 一直有问题,当我运行 mvn appengine:deploy 时,它似乎没有将 .ftl 文件部署到 gae,请问你是如何通过这个的?。 对不起,我有一段时间没有使用 GAE。我想我让 freemarker 处理程序默认呈现所有 HTML 文件 @I.Tyger.【参考方案3】:Rythm 是一个强类型 Java 模板引擎,使用类似于 Razor 的语法,具有高性能(比 Velocity 和 FM 快 2 到 3 倍)。它提供了一种非常轻量级的字符串插值方式:
String result = Rythm.render("hello @who!", "world");
这种简单性使 Rythm 在许多情况下成为 String.format()
的良好替代品。请注意,Rythm.render
比 String.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
【讨论】:
以上是关于Google App Engine 的模板引擎 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
带有 if 语句的 Google App Engine 上的 Django 模板
Google App Engine 中的 Django 模板语法错误
有没有人通过在 GAE/App Engine 中使用更快的模板引擎获得实际收益?
Google App Engine 中的 Django 自定义模板标签