Grails提供了Converter類來快速將任何類型的Java/Groovy對象轉換爲XML/JSON響應。 一樣,在grails中以CSV格式呈現
render obj as XML
或
render obj as JSON
我上一個Grails應用程序,需要我來渲染CSV格式的對象工作。有沒有辦法做到這一點?
我嘗試了一些東西,我已經解釋了下面這些:
的片段我的代碼
csv {
def results = []
for(d in Data.list()) {
def r= [d.id, d.name]
results << r
}
def result = ''
results.each{ row ->
row.each{
col -> result += col + ','
}
result = result[0..-2]
result += '\n'
}
println result
render(contentType:'text/csv',text:result)
}
我存儲在一個ArrayList我的結果,然後將其轉換爲一個逗號分隔字符串,然後通過它到一個渲染方法。當我在瀏覽器上運行上面的代碼時,它會創建所需的文件,並且瀏覽器會彈出一個對話框以「另存爲」文件。
當我將contentType更改爲text/html時,文件內容將在瀏覽器中顯示,不帶換行符。
有沒有更好的方法來呈現瀏覽器上csv文件的內容,就像它在文件上一樣。
謝謝。
謝謝ataylor ..這正是我正在尋找.. – 2011-05-10 19:19:31