Grails“找不到模板错误”

时间:2014-07-30 19:03:25

标签: grails gsp

尝试渲染GSP时出现以下错误(使用Grails 2.3.6):

org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Template not found for name [/shared/mymenu] and path [/shared/_mymenu.gsp]
    ...long stacktrace omitted
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:745)

/shared/_mymenu.gsp

<g:render template="/shared/mmenustub" model="${['root':appmenu]}">
</g:render>

我在这里遗漏了什么吗?也许是plugin属性或什么?如果是这样,我错过了什么,它的价值应该是什么?

globalmenu taglib定义如下:

class GlobalMenuTagLib {
    def globalmenu = { attrs, body ->
        List<NavigationScheme> allNavigationSchemes = navigationSchemeService.listAll()
        def mapped = allNavigationSchemes.groupBy { menu -> menu.appreference }
        def registeredApps = registerInfoService.listAllActive()

        def activePage = attrs.activepage
        def tempName = attrs.tempName?:'anothermenu'

        out << render(template: "/shared/$tempName", model:[navscheme: mapped, regApps: registeredApps, activepage:activePage])
    }
}

1 个答案:

答案 0 :(得分:2)

无法找到/shared/_mymenu.gsp文件。如果这个文件存在于插件中,那么你需要使用&#34;插件&#34;来引用它。 render方法中的参数,以便它知道在哪里搜索文件。

out << render(template: "/shared/$tempName", model:[navscheme: mapped, regApps: registeredApps, activepage:activePage], plugin: "myplugin")

其中&#34; myplugin&#34;是你插件的名称。