在grails应用程序中找不到模板

时间:2013-08-06 15:01:54

标签: grails tags gsp

我刚从2.1.2升级到grails 2.2.4。一切都在我的本地工作正常,但是,当我将WAR打包到测试环境时,我看到一个奇怪的错误。在使用模板的表单上,我收到错误:

  

找不到名称[表单]和路径[/base/_form.gsp]的模板。

但是,此模板(使用来自create.gsp)不在基本文件夹下。它位于名为color(在视图下)的文件夹下,这是create.gsp_form.gsp所在的位置

这是我在create.gsp中使用的标签:

<g:render template="form" bean="${mybean}"/>

Grails似乎认为该模板位于base,但它确实存在于color中。

1 个答案:

答案 0 :(得分:3)

您收到此错误,

template not found for name [form] and path [/base/_form.gsp]

因为Grails在路径中寻找_form.gsp相对于与呈现父gsp的控制器同名的文件夹。如果您不在渲染标记中提供绝对路径(从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存在颜色且颜色为grails-app / views / color,则渲染标记中需要以下路径:

<g:render template="/color/form"