有没有人在嵌入模式下使用Jersey(不是servlet env而是独立的Grizzly实例)成功使用模板引擎?

时间:2012-05-22 14:29:08

标签: jersey velocity freemarker grizzly rythm

Velocity,Freemarker,Japid,Rythm,还有其他什么? 我正在寻找的是类似于JSP在servlet环境中提供的解决方案。它应该是ViewProcessor实现的一种形式,但是在独立的嵌入式Grizzly部署(NIO架构)上工作。

3 个答案:

答案 0 :(得分:3)

Jersey支持freemarker模板 - 请参阅maven上的jersey-freemarker module。它适用于任何容器(即不依赖于servlet)。 Jersey工作区中还有freemarker示例,说明如何使用它 - 请参阅here

答案 1 :(得分:1)

我认为您列出的所有模板引擎都可以在独立环境中使用。特别是对于Rythm(因为我是这个东西的作者),它加载来自不同来源的模板文件:

  1. 来自提供的字符串内容:

    String result = Rythm.render("hello @who", "world");

  2. 来自rythm.root设置的文件:

    String result = Rythm.render("helloWorld.html", "world");

  3. 如果您没有rythm.root设置

    ,则从类路径找到的文件中
  4. 它不依赖于任何servlet容器,因此只要你有JRE就可以自由使用它。如果要在不允许写入文件的GAE中使用rythm.noFileWrite,请务必将true设置为{{1}}。

答案 2 :(得分:0)

开源项目

http://www.bitplan.com/index.php/SimpleRest

提供了一个TemplateResource基类,它将完成大部分“繁重的工作”,使Jersey,Grizzly和Rythm模板引擎很好地协同工作。