2014-04-18 37 views
35

Sto usando Thymeleaf per elaborare i template html, ho capito come aggiungere stringhe inline dal mio controller, ma ora voglio aggiungere un frammento di codice html nella pagina.Process thymeleaf variabile come codice html e non testo

ad esempio, consente soggiorno che ho questo nella mia applicazione 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); 

cosa ho bisogno di scrivere nella pagina HTML in modo che sarebbe stato sostituito dalla variabile "n" ed essere processato come codice html invece di essere codificato come testo?

risposta

58

È possibile utilizzare l'attributo th:utext che sta per testo senza escape (vedere documentation). Utilizzare questo con cautela ed evitare l'input dell'utente in th:utext in quanto può causare problemi di sicurezza.

<div th:remove="tag" th:utext="${n}"></div> 
+2

Link aggiornato a v3 http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#unescaped-text – theINtoy

Problemi correlati