当前位置 : 主页 > 网页制作 > xml >

xml – 以Grails格式呈现CSV格式

来源:互联网 收集:自由互联 发布时间:2021-06-13
Grails提供了Converter类,可以将任何类型的 Java / Groovy对象快速转换为XML / JSON响应. 喜欢, render obj as XML 要么 render obj as JSON 我正在开发一个grails应用程序,它要求我以csv格式呈现对象.有没有
Grails提供了Converter类,可以将任何类型的 Java / Groovy对象快速转换为XML / JSON响应.
喜欢,

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中,然后将它们转换为逗号分隔的字符串,然后将其传递给render方法.当我在浏览器上运行上面的代码时,它会创建所需的文件,浏览器会弹出一个“另存为”文件的对话框.

当我将contentType更改为text / html时,文件内容显示在浏览器上,没有换行符.

有没有更好的方法在浏览器上以与文件相同的方式呈现csv文件的内容.

谢谢.

您可以将CSV呈现为text / plain而不是text / html.浏览器会将其呈现为纯文本,类似于在编辑器中打开文件时所看到的内容.
网友评论