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, а затем преобразовал их в строку через запятую и затем передал ее в метод рендеринга. Когда я запускаю приведенный выше код в браузере, он создает нужный файл, и в браузере появляется диалоговое окно «Сохранить как» файла.
Когда я изменил contentType на text / html, содержимое файла отображается в браузере без символов новой строки.
Есть ли лучший способ визуализировать содержимое файла csv в браузере так же, как и в файле.
Спасибо.