跳过grails中的视图渲染

Man*_*kla 1 grails

在Grails中,控制器中的操作应该有匹配的GSP文件.例如,list()控制器中的操作将呈现list.gsp.反正我们可以跳过这个吗?假设我想要我的动作:writetoaFile()只生成一个文本文件,该文件由客户端浏览器下载,然后不呈现视图.我已经尝试过return,return nullreturn false没有成功.我的代码看起来像:

def writetoaFile(){     
    response.setContentType("text/plain")
    response.setHeader("Content-disposition", "attachment; filename=test.txt")
        response <<"Hello World"
    return
}
Run Code Online (Sandbox Code Playgroud)

writetoafile.gsp的代码:

Hey There. This is a gsp file.
Run Code Online (Sandbox Code Playgroud)

现在我的应用程序将"Hello World"成功写入文件test.txt,但它也将writetoafile.gsp写入文本文件test.txt.

所以我的test.txt包含:

Hello World
Hey There. This is a gsp file.
Run Code Online (Sandbox Code Playgroud)

我想跳过这个观点.我试过了:

  1. return
  2. return null
  3. return false
  4. response.setContentType("text/plain")
  5. response.setContentType("")

Mr.*_*Cat 5

试试这段代码:

def writetoaFile(){  
    response.setContentType("text/plain")
    response.setHeader("Content-disposition", "attachment; filename=test.txt")
    response <<"Hello World"
    response.flushBuffer()
}
Run Code Online (Sandbox Code Playgroud)