我刚接触grails,刚开始使用一个小应用程序,
我正在寻找以下问题的解决方案,
任何人都可以告诉我如何从当前控制器视图页面渲染到其他控制器的GSP视图页面。
预付谢谢, Laxmi.P
答案 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 ])