如何在没有grails尝试生成视图的情况下调用某个控制器类中的方法?
答案 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'关键字),然后调用感兴趣的动作。 请提供您想要做的更多详细信息,以便我能够给出更好的答案......