0

我想在我的脚手架控制器中使用 withFormat 并添加一个脚手架视图“list.csv.gsp”。但是在没有生成我的 list.csv.gsp 视图的情况下,grails 不使用脚手架 list.csv.gsp 视图。

生成 de list.csv.gsp 视图后,它工作正常。但我不会创建所有这些视图,因为它们都是一样的。

我的脚手架控制器列表操作以以下代码结束:

  withFormat {
        html {
            [${propertyName}List: ${propertyName}List, ${propertyName}Total: ${propertyName}List.getTotalCount(), params: cleanParams(params)]
        }
        csv {
            response.setContentType('text/csv')
            response.setHeader('Content-Disposition', "attachment; filename=\${message(code: '${domainClass.propertyName}.label')}.csv")
            [${propertyName}List: ${propertyName}List]
        }
    }
4

2 回答 2

0

我不知道您是否对此仍有疑问,但带有格式的 grails 文档有此引用:

Grails 会忽略 HTTP Accept 标头,除非您在 Config.groovy 文件中添加 grails.mime.use.accept.header = true 设置。换句话说,如果没有该设置, withFormat() 将完全不受 Accept 标头的影响。

请参阅grails 文档中的withFormat

于 2013-06-14T11:12:24.310 回答
0

在您看来,您可能需要将其编写为通用的并放在一个公共目录中并参考您的控制器模板以使用它。也许把它做成一个 _template 并渲染它。希望这可以帮助。

于 2013-06-14T11:46:47.197 回答