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

时间:2012-03-31 20:28:14

标签: grails view controller gsp

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

3 个答案:

答案 0 :(得分:4)

您可以redirect进行其他控制器操作。

class PuppyController {

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

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

}

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

如果您尝试拨打的方法是在另一个控制器上,那么可能会发生错误。

例如,如果我有一个上传文件的控制器方法,另一个创建该文件文件名的方法是我组成的一些约定(比如时间戳+"#34的漂亮文件) ; + username)在另一个控制器上,您应该将该控制器方法提升为Service并将其注入两个控制器。

答案 1 :(得分:2)

class FooController {

  def fooAction() {
    render("Successful call to fooAction")
  }

}

答案 2 :(得分:0)

基本上你可以创建一个控制器实例(通过'new'关键字),然后调用感兴趣的动作。 请提供您想要做的更多详细信息,以便我能够给出更好的答案......