Ich habe mich umgesehen, konnte aber keine Möglichkeit finden, * .html-Dateien einfach in Grails einzubinden oder zu rendern. Meine Anwendung benötigt g.render
oder <g:render>
Vorlagen, die als HTML-Dateien geliefert werden. Dazu müssen wir, wie wir wissen, HTML-Dateien in _foo.gsp
-Dateien konvertieren, um gerendert zu werden. Ich bin total überrascht, warum es keine direkte Unterstützung für HTML gibt oder gibt es eine?
Danke!
Eine offensichtliche Option besteht darin, Ihre HTML-Dateien einfach von foo.html
in _foo.gsp
umzubenennen und dann <render template="foo">
zu verwenden. Aber das ist so offensichtlich, dass ich mir sicher bin, dass du schon darüber nachgedacht hast.
Wenn Sie eine HTML-Datei nur innerhalb eines Controllers rendern möchten, können Sie den Parameter text
der render
Controller-Methode
Wenn Sie dasselbe in einer .gsp-Datei ausführen möchten, können Sie ein Tag schreiben. So etwas wie das Folgende (ungetestet) sollte funktionieren:
%Vor%Sie können dieses Tag von einem GSP mit
aufrufen %Vor%Was wollen Sie erreichen?
Render HTML von einem Controller? In diesem Fall müssen Sie lediglich den Benutzer zu einer Datei von Ihrem Steuerelement umleiten.
redirect(uri:"/html/my.html")
Verwenden Sie html-Dateien anstelle von gsp template-files?
Die Sache ist, Grails ist eine "Convention over Configuration" -Plattform und das bedeutet, dass Sie einige Dinge "den Grails Weg" tun müssen. Die Dateien benötigen die _ und die .gsp
, aber der Name kann sein, was auch immer Sie möchten, auch wenn es einfacher ist, wenn Sie den gleichen Namen wie der Controller verwenden. Was Sie daraus gewinnen, ist das Wissen, dass jeder Entwickler, der weiß, was in Ihrem Projekt steckt und was er tut, versteht, wie die Dinge zusammenhängen und Ihnen helfen werden, schnell zu beginnen.
Ich wollte statische html / ajax-Seiten schreiben, die in der grails-App (v2.4.4) gehostet werden, aber benutze den Controller für das URL-Rewrite. Ich konnte dies erreichen, indem ich die Datei nach web-app / (zur leichteren Bezugnahme) verschiebe und einfach die render () -Methode mit den Parametern 'file' und 'contentType' verwende, wie zum Beispiel:
%Vor%Hinweis: Ich habe das nur mit run-app versucht, und habe noch keinen Krieg gepackt und auf tomcat bereitgestellt.
Doc: Ссылка
Ich war in der Lage, den Ansatz von @momo zu verwenden, um externe Dateien für das Rendering-Plugin "grails" zuzulassen, wo Netzwerkpfade in höheren Umgebungen verpfuscht werden - meins endete wie folgt:
%Vor%