Verwenden von GSP-Ansichten in einfachen Spring MVC ohne Grails

8

Ich möchte GSP-Ansichten anstelle von JSP / JSTL-Ansichten in einer einfachen alten Spring MVC-Anwendung verwenden. Ich habe der web.xml ein groovy.servlet.TemplateServlet wie folgt hinzugefügt:

%Vor%

Und richten Sie einen Spring InternalResourceViewResolver ein, um die GPS-Dateien zu laden. Bis zu diesem Punkt funktioniert alles gut, aber um die Werte im Model der Vorlage zugänglich zu machen, musste ich ein paar Tricks machen (TemplateServlet ableiten und zur ServletBinding hinzufügen).

Nun ist mein nächstes Hindernis, dass JSTL standardmäßig das XML ausblendet, wenn das c: out-Tag verwendet wird, und Grails die Idee von Codecs hat, um die in einem GSP verwendeten Werte automatisch zu umgehen. Die oben beschriebene Template-Methode gibt es standardmäßig nicht, weshalb die Entwickler sehr vorsichtig sein müssen, um XSS-Schwachstellen zu vermeiden.

Gibt es eine andere (bessere) Möglichkeit, GSP zu verwenden, einschließlich automatischem Escaping in einer Spring-MVC-Anwendung ohne Grails?

    
Tomas 27.11.2010, 01:44
quelle

3 Antworten

1

Heute wurde GSP für Spring Boot veröffentlicht. Dies ermöglicht die Verwendung von GSP anstelle von JSP in einer regulären Spring-Webanwendung. Sie können hier ein Beispiel sehen: Ссылка

    
Michael Minella 25.04.2014 19:02
quelle
0

Anstatt eine TemplateServlet zu verwenden, hättest du auch eine GroovyPagesServlet für diesen Zweck verwenden können (ich habe das nicht getestet, nur Grails web.xml und die Klasse ' Code).
Letzteres erfordert die Einrichtung einer Spring-Bean namens groovyPagesTemplateEngine und typisierte GroovyPagesTemplateEngine (in diesem Fall GStringTemplateEngine ).

Das Konfigurieren der Ansichtsebene mit InternalResourceViewResolver ist korrekt. Du hast GroovyPageView zugewiesen.

GSPs sind standardmäßig nicht zum Ausführen von HTML-Ausgabe-Escapes konfiguriert. Um dies zu konfigurieren, ändern Sie grails.views.default.codec von none in html in Config.groovy . Weitere Informationen finden Sie in diesem Artikel .

    
robbbert 27.11.2010 14:37
quelle
0

Wir haben GSP aus Grails extrahiert, für Spring MVC-Anwendungen angepasst und die Konfigurationsunterstützung verbessert. Bitte sehen Sie unser Tool Rabbtor . Wir stellen es nicht als Open Source zur Verfügung, aber die Nutzung ist kostenlos und wir verwenden es in unseren eigenen Anwendungen. GSP für Spring-Boot hängt vom Spring-Boot ab, es wird nicht gepflegt und einige Tag-Bibliotheken hängen von Grails ab. Wir haben diese Abhängigkeiten entfernt und eigene benutzerdefinierte Tag-Bibliotheken erstellt, die Spring MVC-Anwendungen besser entsprechen. Die meisten Tag-Bibliotheken werden unterstützt und haben ähnliche Implementierungen wie Spring JSP-Tags. Eine datengebundene Form-Tag-Bibliothek wird bereitgestellt und Sie können Ihre Tag-Bibliotheken registrieren Pakete.

    
Cagatay Kalan 10.06.2016 18:56
quelle

Tags und Links