将模板渲染为字符串?

时间:2012-01-24 07:16:12

标签: grails

是否可以将模板“渲染”为字符串?我想使用一个模板,并用一些值填充,然后我必须保存到本地光盘。

render方法始终将模板发送到客户端。我想要类似的东西来运行模板,但是将模板的输出保存到我​​可以存储在本地文件系统中的本地字符串变量。

2 个答案:

答案 0 :(得分:22)

比你想象的要简单:

def myTemplateString = g.render(template: "test", model: [foo: bar])

答案 1 :(得分:13)

如果您使用的是Grails 2.x,则可以使用PageRenderer类。尝试这样的事情:

     grails.gsp.PageRenderer groovyPageRenderer

     void methodName() { 
         def contents = groovyPageRenderer.render(template:"yourTemplate", model:yourModel)
         //you can use contents as a string now
     }

这也可以在Web请求范围之外工作,例如在预定作业或Web服务中。