Grails提供了Converter类,可以将任何类型的 Java / Groovy对象快速转换为XML / JSON响应. 喜欢, render obj as XML 要么 render obj as 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中,然后将它们转换为逗号分隔的字符串,然后将其传递给render方法.当我在浏览器上运行上面的代码时,它会创建所需的文件,浏览器会弹出一个“另存为”文件的对话框.
当我将contentType更改为text / html时,文件内容显示在浏览器上,没有换行符.
有没有更好的方法在浏览器上以与文件相同的方式呈现csv文件的内容.
谢谢.
您可以将CSV呈现为text / plain而不是text / html.浏览器会将其呈现为纯文本,类似于在编辑器中打开文件时所看到的内容.