我试图在我的控制器范围之外呈现模板。在Grails 2.x中未找到名称和路径的模板
,我想呈现模板位于景色的/ home/index.gsp中的观点
编辑:
我尝试呈现模板 “_list-clients.gsp”和“_list-hubs.gsp”,均位于/视图/模板中我主要布局“main.gsp”位于/视图通过使用我invok标签库E在一个视图“的list.gsp”位于/视图/客户
Here's如何我包括内容标签的视图:
<g:pageProperty name="page.client-menu"/>
在这里,我调用在标签库内容标签中的list.gsp:
<content tag="client-menu">
<g:createClientMenu ></g:createClientMenu>
</content>
这里是我的taglib:
package com.pmedia.taglib
import com.pmedia.domain.Company
class CreateClientMenuTagLib {
def createClientMenu = { attrs, body ->
def company = Company.findByName("pMediaNetwork")
out << '<ul>'
out << '<li class="dropdown">'
out << '<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">'
out << 'Select Hub or Client for ' + company?.name
out << '<b class="caret"></b>'
out << '</a>'
out << '<ul class="dropdown-menu pull-right">'
if (company?.getHubs()) {
out << render(template:"/templates/list-hubs", collection: company.getHubs(), var:"hubs")
}
if (company?.getClients()) {
out << render(template:"/templates/list-clients", collection: company.getClients(), var:"clients")
}
out << '</ul>'
out << '</li>'
out << '</ul>'
}
}
模板位于视图/模板/ _list-hubs.gsp
我不断收到此错误:
URI
/newLayout/home/index
Class
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException
Message
Template not found for name [templates/list-hubs] and path [/home/templates/_list-hubs.gsp]
我预想的Grails开始寻找在查看文件夹时,我带领的URL一个“/”但由于某些原因模板无法找到。
有人知道如何解决这个问题吗?
代码和错误似乎没有关系。您的渲染代码使用模板'/ templates/list-hubs',而您的错误消息是针对模板'templates/list-clients'。您已经忘记了**客户**模板的主要斜线。 – hsan 2013-03-11 16:28:35
对不起,当发布错误时,我没有重新加载浏览器。我在上面编辑了它的实际错误。 – bernheart 2013-03-11 16:38:21
仍然看起来好像你缺少主导斜线。另外,你是否在scriptlet块('<% ...%>')中调用'render'?这是[灰心](http://grails.org/doc/latest/guide/theWebLayer.html#GSPBasics)。为什么不使用''标签(或[模板名称空间](http://grails.org/doc/latest/guide/theWebLayer.html#viewsAndTemplates))? –
hsan
2013-03-11 16:57:02