加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 以Grails格式呈现CSV格式

发布时间:2020-12-16 23:02:23 所属栏目:百科 来源:网络整理
导读: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.浏览器会将其呈现为纯文本,类似于在编辑器中打开文件时所看到的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读