如何在控制器中将视图渲染为字符串?

时间:2015-08-07 02:57:03

标签: grails

是否可以在grails中将视图呈现为控制器中的字符串?

我发现了类似的问题(How can I render a GSP as a String?),建议是“grails.gsp.PageRenderer”

所以,我在控制器中尝试它

import grails.gsp.PageRenderer

def getSomething(){
    PageRenderer groovyPageRenderer
    def x = groovyPageRenderer.render((view: 'report', model : [foo : 'bar'])
}

它告诉我“无法在null对象上调用方法render()

2 个答案:

答案 0 :(得分:2)

而不是......

import grails.gsp.PageRenderer

class SomeController {
    def getSomething(){
        PageRenderer groovyPageRenderer
        def x = groovyPageRenderer.render((view: 'report', model : [foo : 'bar'])
    }
}

试试这个......

import grails.gsp.PageRenderer

class SomeController {
    PageRenderer groovyPageRenderer
    def getSomething(){
        def x = groovyPageRenderer.render(view: 'report', model : [foo : 'bar'])
    }
}

答案 1 :(得分:0)

杰夫建议的答案对我不起作用。我使用了此页面建议的内容。 https://snipplr.com/view/10815/grails-render-template-as-string/

        def x = g.render(template:"mytemplate",model:[name:"myobject"]);