我正在使用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'
答案 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])