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

Nan*_*ita 8 grails rendering gsp

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

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

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

提前谢谢,Laxmi.P

Vic*_*nko 16

您可以在操作中使用任一render(view: '/ctrlr/action', model: [fooInstance: foo])控制器动态方法,具体取决于您是否需要使用已有的模型,还是完全重定向到该操作的逻辑.redirect(controller: 'ctrlr', action: 'action')

如果您询问GSP代码,则会有一个渲染标记.

  • 为什么这个答案不合适? (2认同)

Nir*_*mal 11

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

FirstController.groovy
   finalView.gsp
SecondController.groovy
   normalView.gsp
Run Code Online (Sandbox Code Playgroud)

normalView.gsp将具有:

<g:link controller="SecondController" action="redirectToFirstController">Redirect to finalView.gsp </g:link>
Run Code Online (Sandbox Code Playgroud)

然后在SecondController中定义一个名为redirectToFirstController的动作

def redirectToFirstController =  {
 redirect(controller:"FirstController",action:"renderFinalView")
}
Run Code Online (Sandbox Code Playgroud)

在你的FirstController中:

def renderFinalView = {
render(view:"finalView");
}
Run Code Online (Sandbox Code Playgroud)

  • `renderFinalView`是完全冗余的.一个空的`finalView`动作就足够了. (3认同)