我正在尝试从 taglib 呈现我的模板:
out << g.render(template: "/menu/sidebar")
这是我的侧边栏模板的样子:
<ul>
<li>TEST1</li>
<li>TEST2</li>
</ul>
当我在浏览器中检查我的页面时,整个模板代码出现在这样的撇号中......
"<ul>
<li>TEST1</li>
<li>TEST2</li>
</ul>"
...并像纯文本一样打印我的 html 代码。知道如何让它将内容识别为正确的 html 代码吗?
编辑:标签库代码:
class MenuTagLib {
static defaultEncodeAs = 'html'
def renderIfExists = { attrs,body->
GrailsConventionGroovyPageLocator groovyPageLocator
println attrs.template
if(groovyPageLocator.findTemplateByPath(attrs.template))
{
g.render(template:attrs.template)
}
else{
out << g.render(template: "/menu/sidebar")
}
}
}
调用方式:
<g:renderIfExists template="/${params.controller}/sidebar" plugin="untitled1" />