是否可以将模板"渲染"为字符串?我想使用一个模板,并用一些值填充,然后我必须保存到本地光盘.
render方法始终将模板发送到客户端.我想要类似的东西运行模板,但将模板的输出保存到本地字符串变量,我可以存储在本地文件系统中.
Jan*_*olm 22
它比你想象的简单:
def myTemplateString = g.render(template: "test", model: [foo: bar])
Run Code Online (Sandbox Code Playgroud)
Anu*_*ora 14
如果您使用的是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
}
Run Code Online (Sandbox Code Playgroud)
这也将在Web请求的范围之外工作,例如在预定作业或Web服务中.