Grails 3 - 从服务中获取渲染视图

时间:2016-10-31 16:58:07

标签: grails grails3 grails3.2.0

我正在使用Grails Views并希望将从渲染模板输出的JSON存储在数据库中。我不是试图将呈现的模板发送给用户,只是为了以后的用户存储它。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

http://views.grails.org/1.1.2/#_the_jsontemplateengine上的第2.9节。

Template t = templateEngine.resolveTemplate('/book/show')
def writable = t.make(book: new Book(title:"The Stand"))
def sw = new StringWriter()
writable.writeTo( sw )

然后你可以用sw做任何你喜欢的事。

答案 1 :(得分:1)

我在这种情况下使用了groovyPageRenderer。请参阅此处的页面渲染API部分:http://docs.grails.org/2.1.0/guide/introduction.html

class myService {
    PageRenderer groovyPageRenderer

    String renderTemplate(){
        return groovyPageRenderer.render([view: '/path/to/gsp', model:[key1:'val1', key2:'val2']])
    }
}

对我来说,这在我想要/需要服务从GSP生成HTML的极少数情况下效果很好。