我试图从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代码?
编辑:Taglib代码:
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" />
解决方法
如果我不得不猜测,那就是你在课堂上有这样的事情:
static defaultEncodeAs =’html’
您应该删除该行,然后重试.这表示它应该转义html字符.