从2个不同的控制器调用Grails GSP

时间:2014-11-04 10:39:11

标签: grails model-view-controller

我有一个GSP,它将从FizzController呈现,但包含需要将AJAX调用发送回BuzzController的JavaScript代码。

我当前的项目目录结构:

myapp/
    grails-app
        controllers/
            myapp/
                FizzController.groovy
                BuzzController.groovy
        views/
            fizz/
                mainPage.gsp
            buzz/
                buzz.gsp

        <normal grails-app dir>
    src/
    web-app/

    <normal directory structure for Grails app>

呈现GSP的FizzController#index方法:

def index() {
    render(view: "buzz", controller: "buzz", model: fetchAndInjectModel())
}

当我运行这个并转到http://localhost:8080/myapp/fizz时,我希望它能够呈现我的GSP。相反,我得到了我的自定义&#34;页面未找到&#34;页面。应用程序日志中没有任何内容。关于这里发生了什么的任何想法?

1 个答案:

答案 0 :(得分:2)

render方法没有参数controller,因此您需要使用以下内容:

  

渲染视图:'/ buzz / buzz',型号:fetchAndInjectModel()

docs:http://grails.org/doc/latest/ref/Controllers/render.html

其他选项是重定向:

  

重定向(控制器: “嗡嗡”,动作: “嗡嗡”)