9
votes

Utilisation des vues GSP dans le printemps plain MVC sans greils

J'aimerais utiliser des vues GSP au lieu des vues JSP / JSTL dans une application MVC de printemps unique. J'ai ajouté un groovy.servlet.templateservlet à web.xml comme ceci: xxx

et configurer un spring interneResourceViewresolver pour charger les fichiers GPS. Jusqu'à ce point, tout fonctionne bien, mais d'exposer les valeurs du modèle au modèle que je devais faire quelques astuces (sous-classement des templatsservlet et les ajoutant au servletbinding).

Maintenant, mon prochain obstacle est que JSTL Par défaut s'échappe XML lors de l'utilisation de la balise C: OUT et des grails a la notion de codecs pour échapper automatiquement aux valeurs utilisées dans un SPG. La méthode de modèle décrite ci-dessus n'échappe pas par défaut, ce qui oblige les développeurs très prudents pour éviter les vulnérabilités XSS.

existe une autre solution (meilleure) d'utiliser SGSP, y compris l'évacuation automatique de l'application de Spring MVC. Sans utiliser des greils?


1 commentaires

Je travaille sur une tâche identique. Je voudrais utiliser des modèles GSP au lieu de JSP / JSTL. Quelles dépendances dois-je ajouter à mon fichier de construction de grades?


3 Réponses :


0
votes

au lieu d'utiliser un templatsservlet , vous avez également pu utiliser un groovypageservlet à cette fin (je n'ai pas testé cela, il suffit de regarder GRAVES ' web .xml et le code de classe).
Ce dernier nécessite un haricot de ressort pour être configuré, nommé groovypagestemplategine et dactylographié groovypagestemplategine ( gstringtemplategine dans ce cas).

Configuration de la couche de vue avec un internalResourceViewresolver est correct. Vous aurez attribué un groovypageview .

GSPS, par défaut, sont pas configurés pour effectuer une sortie HTML s'échappant. Pour configurer cela, changez grails.views.default.codec à partir de Aucun to html dans config.groovy . Voir Cet article Pour plus d'informations.


6 commentaires

J'ai choisi le templateservlet parce que cela fait partie de Groovy lui-même, le groovypageServlet semble être une partie des greils? Il en va de même pour GroovypageView, il nécessite de mettre en place des filtres de grails. L'une de mes exigences est de ne pas inclure les grails, donc je recherche la solution la plus maigre pour inclure un support GSP


La prochaine fois, veuillez envoyer vos exigences dans la question initiale (et non dans un commentaire ultérieur). Cela nous sauvera beaucoup d'efforts. - Merci. - Après tout, vous avez trouvé Votre solution (qui semble fonctionner correctement), sauf de vous tromper sur votre point central de GSP HTML EXCAPER. - Cela a également été abordé dans ma réponse. - Merci encore.


Désolé. - Dans votre question initiale, vous avez mentionné (dans le titre de la question) "sans greils", et je n'avais pas reconnu cela. - Cependant, votre question restante sur l'échappement HTML GSP devrait maintenant avoir été résolue.


Eh bien, désolé vous avez manqué le titre. Mais le paramètre Grails.views.default.Codec Vous avez mentionné est également des greils spécifiques, autant que je sache de regarder la source de Gstringtemplategine. Donc, pour clarifier: Je cherche un moyen d'utiliser GSP avec une échappée automatique, comme dans la question initiale: "Y a-t-il une autre solution (meilleure) d'utiliser SGSP, y compris l'évacuation automatique de l'application de Spring MVC uni?" (et ainsi mentionné dans le titre: sans greils)


<% @ de page defaultcodec = "html"%>


Quelqu'un pourrait-il donner un exemple de fichier web.xml de travail? Merci



1
votes

Aujourd'hui, GSP pour la chaussure à ressort était simplement libéré. Ceci offre la possibilité d'utiliser GSP au lieu de JSP dans une application Web Spring Spring régulière. Vous pouvez voir un exemple ici: https://github.com/grails/grails-boot/blob/master/sample-apps/gsp/script/templates/index.gsp


0 commentaires

0
votes

Nous avons extrait de GSP à partir de grails, personnalisés pour les applications MVC à ressort et le support de configuration amélioré. Veuillez consulter notre outil RABBTOR . Nous ne fournissons pas la source ouverte, mais l'utilisation est gratuite et nous l'utilisons dans nos propres applications. GSP pour la chaussure à ressort dépend de la chaussure à ressort, il n'est pas maintenu et certaines bibliothèques de balises dépendent des greils. Nous avons supprimé ces dépendances, créé nos propres bibliothèques de tags personnalisées, ce qui correspond de mieux aux bibliothèques MVC MVC MVC.PRESSE SUPPLIERS et ont des implémistes similaires à Spring JSP Tags.A La bibliothèque d'étiquettes de formulaire de données est fournie et vous pouvez également enregistrer votre balise libs ou Forfaits.


0 commentaires