2

我过去曾使用过Grails 渲染插件,在创建 PDF 方面取得了很大成功。现在抛出我想创建一个简单的文本文件,使用 gsp。我喜欢使用模型来定义如何将信息插入模板的便利性。我意识到我不需要渲染文本文件,但是有没有类似的方法可以使用模板来创建一个普通的文本文件?

如何使用 Grails 渲染插件渲染 jpg 的示例:(注意模型使用)

    def bytes = gifRenderingService.render(template: '/images/coupon', model: [serial: 12345])
// Render to a file
    new File("coupon.jpg").withOutputStream { outputStream ->
        jpegRenderingService.render(template: '/images/coupon', model: [serial: 12345])
    }

如果没有像上面示例这样的简单方法,因为我的信息来自多个域类,我是否应该<g>在我的 gsp 模板中创建根据所需条件提取的标签?如果是这种情况..我如何将变量从我的服务插入到我的 gsp 模板中?

4

4 回答 4

4

你可以看看grails.gsp.PageRenderer实用程序类。它允许您将 .gsp 模板呈现为String

String gspOutput = groovyPageRenderer.render(view: '<your view>.gsp', model: [ modelObj1: ... ])

...或直接到 a Writeror OutputStream

groovyPageRenderer.renderTo(view: '<your view>.gsp', model: [ modelObj1: ... ], <writer or OS>)

Much more detail can be found here: http://mrhaki.blogspot.com/2012/03/grails-goodness-render-gsp-views-and.html

于 2013-03-08T21:35:54.687 回答
0

要将模板呈现为文本文件,您应该将响应的内容类型设置为 text/plain

于 2013-03-08T19:57:37.127 回答
0

我认为您只需使用 <g> 标签等将您的文本模板创建为标准模板,然后在 contentType 为“text/plain”的模板上调用标准 grails render() 函数。不需要插件?

于 2013-03-08T20:01:28.240 回答
0

Add the following code to the GSP file

<%@page contentType="text/plain"%>
于 2016-10-05T16:30:05.107 回答