为 GSP 中显示的数据生成文本 (.txt) 文件
Generate Text (.txt) file for Data displayed in GSP
我有一个用 2.3.6 开发的 Grails 应用程序
有一个包含 HTML 和 CSS 元素的 GSP 文件,它在多个包含 headers 的表中显示数据。
我希望将此数据保存到文本文件中并保存。所以基本上我想做的是,在这个 GSP 页面中会有一个导出按钮,当用户单击它时,它将下载包含该 GSP 中所有数据的文本文件。
到目前为止我尝试了什么?
def textFile = {
response.setHeader('Content-Disposition', 'Attachment;Filename="textFile.txt"')
render view: 'textFile', contentType: 'text/plain'
}
上面的问题是,它不仅保存了数据,还保存了 HTML & CSS 个元素。
我不想在文本文件中包含任何 HTML 或 CSS。只需要来自 GSP 的数据。
有没有简单的方法呢
答案很简单 - 您需要另一个没有 html 和 css 部分的视图。
您的其余代码看起来不错。但是Grails本身并不会转换你的视图,它只是将内容类型发送给浏览器,浏览器会尝试根据内容类型来显示数据。
如果您不想编写新视图(在大多数情况下,编写新视图非常简单),您可以编写自己的转换器(去掉 HTML 和 CSS 从你的文件)通过创建一个 afterView-Filter: http://grails.github.io/grails-doc/2.4.0/guide/single.html#filters
希望对您有所帮助
我有一个用 2.3.6 开发的 Grails 应用程序
有一个包含 HTML 和 CSS 元素的 GSP 文件,它在多个包含 headers 的表中显示数据。
我希望将此数据保存到文本文件中并保存。所以基本上我想做的是,在这个 GSP 页面中会有一个导出按钮,当用户单击它时,它将下载包含该 GSP 中所有数据的文本文件。
到目前为止我尝试了什么?
def textFile = {
response.setHeader('Content-Disposition', 'Attachment;Filename="textFile.txt"')
render view: 'textFile', contentType: 'text/plain'
}
上面的问题是,它不仅保存了数据,还保存了 HTML & CSS 个元素。
我不想在文本文件中包含任何 HTML 或 CSS。只需要来自 GSP 的数据。
有没有简单的方法呢
答案很简单 - 您需要另一个没有 html 和 css 部分的视图。
您的其余代码看起来不错。但是Grails本身并不会转换你的视图,它只是将内容类型发送给浏览器,浏览器会尝试根据内容类型来显示数据。
如果您不想编写新视图(在大多数情况下,编写新视图非常简单),您可以编写自己的转换器(去掉 HTML 和 CSS 从你的文件)通过创建一个 afterView-Filter: http://grails.github.io/grails-doc/2.4.0/guide/single.html#filters
希望对您有所帮助