我刚刚从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/

10-13 04:38