2012-03-31 50 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'關鍵字),然後調用感興趣的操作。 請提供更多關於你想做什麼的細節,所以我可能會給出更好的答案...

相關問題