如何将控制器中的值传递给我的视图?

时间:2016-12-08 14:16:09

标签: grails

我正在使用grails 3.我的控制器中有一些值,比如说

[view: "user", model: [user: user]]

并在user.gsp中我正在写

${user.name} 

但这在grails 3中不起作用。我也尝试过这样的

render (view: "/views/user.gsp", model: [user: user])

在我的控制器中,但仍显示以下错误:

Could not resolve view with name 'save' in servlet with name 'grailsDispatcherServlet'

2 个答案:

答案 0 :(得分:0)

问题第二部分中的代码查找以下.gsp文件:

... /的grails-app /视图/视图/ user.gsp

我假设你想要这样的东西

render (view: "/user.gsp", model: [user: user])

这将在以下目录中查找:

... /的grails-app /视图/ user.gsp,

有用的来源:

答案 1 :(得分:0)

您的视图文件似乎位于grails-app/views/user.gsp。你没有给我们你的控制器的名字,所以我会做一个并假装它被称为" YourController" (我还假设您没有使用控制器命名空间)。

要让控制器自动查找视图(与第一次尝试一样),您需要将其命名为grails-app/views/your/user.gsp,因为控制器会查找他们的视图。文件夹默认情况下。

提供完整路径的第二次尝试在两个方面是错误的:首先,您不需要显式添加路径的/views部分(除非您有grails-app/views/views文件夹),视图不能位于grails-app/views之外。其次,你不能附加.gsp扩展名,Grails会自己解决它(因为除了.gsp文件之外还有其他选项,Grails将为请求选择最合适的选项)。所以第二个表格应为:render (view: "/user", model: [user: user])