Ich versuche, meine Vorlage von taglib zu machen:Grails: Rendering-Vorlage von taglib als HTML
out << g.render(template: "/menu/sidebar")
Dies ist, was meine Sidebar Template wie folgt aussehen:
<ul>
<li>TEST1</li>
<li>TEST2</li>
</ul>
Wenn ich meine Seite inspizieren in Browser erscheint ganzer Template-Code in Apostrophe so ...
"<ul>
<li>TEST1</li>
<li>TEST2</li>
</ul>"
... und druckt meinen hTML-Code wie ein pla im Text. Irgendeine Idee, wie man es den Inhalt als korrekten HTML-Code erkennen lässt?
Edit: Taglib Code:
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")
}
}
}
Die Art und Weise des Aufrufs:
<g:renderIfExists template="/${params.controller}/sidebar" plugin="untitled1" />
AFAIK, 'out << machen (Vorlage: "/ menu/sidebar") 'sollte es tun ... –
Es macht es gleich – Saraph
Können Sie Ihren Taglib-Code und die Art, wie Sie es aufrufen? –