2012-03-31 51 views
5

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

+0

你打电话来自哪里,你想做什么 – 2012-03-31 20:42:50

+0

控制器中的动作总是发送回到用户的东西。但它不一定是GSP页面或HTML,你可以自己构建任何类型的响应。正如Nate所建议的,我们需要知道您想要达到什么目的以帮助您找到解决方案。 – David 2012-03-31 22:28:00

+1

你试过'渲染'吗? – neodevelop 2012-04-01 06:11:57

回答

4

你可以redirect到另一个控制器的动作。

class PuppyController { 

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

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

} 

在某些点您应该写入响应或重定向到一个方法/闭合对应于视图,以便用户可以接收输出。

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

例如,如果我有一个上传文件的控制器方法,并且另一个方法为该文件创建了文件名作为我组合的一些约定(比如说timestamp +“用于+ username的漂亮文件)在另一个控制器上,您应该将该控制器方法升级到Service并将其注入到两个控制器中。

2
class FooController { 

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

} 
0

本质上,您可以创建一个控制器实例(通过'new'关键字),然后调用感兴趣的操作。 请提供更多关于你想做什么的细节,所以我可能会给出更好的答案...

相关问题