我刚刚从2.1.2升级到grails 2.2.4。在本机上一切正常,但是,当我将WAR打包到测试环境中时,看到一个奇怪的错误。在使用模板的表单上,出现错误:
但是,此模板(从create.gsp使用)不在基本文件夹下。它位于名为color(在 View 下)的文件夹下,create.gsp
和_form.gsp
均位于该文件夹中
这是我在create.gsp中使用的标签:
<g:render template="form" bean="${mybean}"/>
似乎grails假定模板位于
base
中,但实际上位于color
中。 最佳答案
您收到此错误,
template not found for name [form] and path [/base/_form.gsp]
因为Grails按照约定在相对于与呈现父gsp的 Controller 同名的文件夹的相对路径中寻找
_form.gsp
。如果您未在render标签中提供绝对路径(从views
文件夹开始),情况将始终如此。您的_form.gsp页在哪里?这是一些示例路径
grails-app/views/_form.gsp
-> <g:render template="/form" ..
grails-app/views/base/_form.gsp
-> <g:render template="/base/form" ...
or -> <g:render template="form" .. //if calling from baseController
因此,如果_form.gsp处于color状态,并且color位于grails-app / views / color,则渲染标记中需要以下路径:
<g:render template="/color/form"
关于grails - grails应用程序中找不到模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18083798/