是否可以将模板“渲染”为字符串?我想使用一个模板,并用一些值填充,然后我必须保存到本地光盘。
render方法始终将模板发送到客户端。我想要类似的东西来运行模板,但是将模板的输出保存到我可以存储在本地文件系统中的本地字符串变量。
答案 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服务中。