如何在不在grails中生成视图的情况下调用操作

Orc*_*nja 5 grails controller view gsp

如何在没有grails尝试生成视图的情况下调用我的某个控制器类中的方法?

Vis*_*ons 4

您可以重定向到另一个控制器操作。

class PuppyController {

   def woof() {
     redirect(action:'bark')
   }

   def bark(){
     response.write "Moo"
   }

}
Run Code Online (Sandbox Code Playgroud)

在某些时候,您应该写入响应或重定向到与视图相对应的方法/闭包,以便用户可以接收输出。

如果您尝试调用的方法位于另一个控制器上,那么您很可能做错了。

例如,如果我有一个上传文件的控制器方法,以及另一个为该文件创建文件名的方法,作为我在另一个控制器上编写的某些约定的组合(例如时间戳+“漂亮文件”+用户名),您应该将该控制器方法提升为服务并将其注入到两个控制器中。