Velocity、Freemarker、Japid、Rythm,还有其他吗?我正在寻找的是类似于 JSP 在 servlet 环境中提供的解决方案。它应该是 ViewProcessor 实现的一种形式,但适用于独立的嵌入式 Grizzly 部署(NIO 架构)。
3 回答
Jersey 支持 freemarker 模板 - 请参阅maven 上的 jersey-freemarker 模块。它适用于任何容器(即不依赖于 servlet)。Jersey 工作区中还有 freemarker 示例,展示了如何使用它 - 请参见此处。
我认为您列出的所有模板引擎都可以在独立环境中使用。专门针对 Rythm(因为我是这些东西的作者),它从不同的来源加载模板文件:
从提供的字符串内容:
String result = Rythm.render("hello @who", "world");
从
rythm.root
设置中找到的文件:String result = Rythm.render("helloWorld.html", "world");
rythm.root
如果您没有设置,则从类路径中找到的文件
它只是不依赖于任何 servlet 容器,所以只要你有 JRE,你就可以自由地使用它。如果您想在不允许文件写入的 GAE 中使用它,请务必设置rythm.noFileWrite
为。true
开源项目
http://www.bitplan.com/index.php/SimpleRest
提供一个 TemplateResource 基类,它将完成大部分“繁重的工作”以使 Jersey、Grizzly 和 Rythm 模板引擎很好地协同工作。