2013-03-08 52 views
2

我在過去曾使用過Grails Rendering Plugin,在創建PDF時取得了很大的成功。現在拋出我想用gsp創建一個簡單的文本文件。我喜歡使用模型來輕鬆定義如何將信息插入到模板中。我意識到我不需要渲染一個文本文件,但是有沒有類似的方式來使用模板來創建一個普通的文本文件?如何使用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模板中?

回答

4

你可以看看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

0

要呈現模板爲文本文件,你應該設置響應的內容類型爲text/plain的

0

我覺得你剛纔創建的文本模板作爲標準,與<克>標籤等.. ,然後在contentType爲'text/plain'的模板上調用標準grails render()函數。沒有插件必要?

0

將以下代碼添加到GSP文件中

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