我怎样才能渲染到其他控制器的gsp视图?

时间:2011-05-05 11:25:21

标签: grails rendering gsp

我刚接触grails,刚开始使用一个小应用程序,

我正在寻找以下问题的解决方案,

任何人都可以告诉我如何从当前控制器视图页面渲染到其他控制器的GSP视图页面。

预付谢谢, Laxmi.P

3 个答案:

答案 0 :(得分:16)

您可以在操作中使用render(view: '/ctrlr/action', model: [fooInstance: foo])redirect(controller: 'ctrlr', action: 'action') controller dynamic methods,具体取决于您是否需要使用已有的模型,或完全重定向到该操作的逻辑。< / p>

如果您询问GSP代码,则会有render tag

答案 1 :(得分:11)

让我们假设你想从SecondController的normalView.gsp渲染FirstController的finalView.gsp 具有以下结构:

FirstController.groovy
   finalView.gsp
SecondController.groovy
   normalView.gsp

normalView.gsp将具有:

<g:link controller="SecondController" action="redirectToFirstController">Redirect to finalView.gsp </g:link>

然后在SecondController中,定义一个名为redirectToFirstController

的动作
def redirectToFirstController =  {
 redirect(controller:"FirstController",action:"renderFinalView")
}

在你的FirstController中:

def renderFinalView = {
render(view:"finalView");
}

答案 2 :(得分:1)

不太确定,但我认为你必须使用ModelAndView Class。

return new ModelAndView("/controller/view", [ model : youModel ])