如何使用gsp模板创建文本文件



我过去使用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])
    }

如果没有像上面的例子那样简单的方法,因为我的信息来自多个域类,我应该在我的gsp模板中创建<g>标签,根据需要的条件拉?如果是这样的话……我如何从我的服务中插入一个变量到我的gsp模板?

您可以看一下grails.gsp.PageRenderer实用程序类。它允许您将.gsp模板渲染为String:

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

…或直接到WriterOutputStream:

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

更多细节可以在这里找到:http://mrhaki.blogspot.com/2012/03/grails-goodness-render-gsp-views-and.html

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

我认为你只是创建你的文本模板作为标准,标签等等……,然后在模板上调用标准grails render()函数,其contentType为'text/plain'。不需要插件吗?

将以下代码添加到GSP文件

<%@page contentType="text/plain"%>

最新更新