web-dev-qa-db-fra.com

Traiter la variable thymeleaf en code html et non en texte

J'utilise Thymeleaf pour traiter les modèles html, j'ai compris comment ajouter des chaînes en ligne à partir de mon contrôleur, mais maintenant je veux ajouter un fragment de code html dans la page.

Par exemple, restons que j'ai ceci dans mon Java:

String n="<span><i class=\"icon-leaf\"></i>"+str+"</span> <a href=\"\"></a>\n";

final WebContext ctx = new WebContext(request, response, 
                                      servletContext, request.getLocale());
ctx.setVariable("n",n);

De quoi ai-je besoin pour écrire dans la page html afin qu'elle soit remplacée par la variable "n" et traitée en code html au lieu d'être encodée en texte?

48
Alexandru Severin

Vous pouvez utiliser th:utext attribut qui représente le texte non échappé (voir documentation ). Utilisez-le avec prudence et évitez les entrées utilisateur dans th:utext car cela peut entraîner des problèmes de sécurité.

<div th:remove="tag" th:utext="${n}"></div>
80
michal.kreuzman