Alexandru Severin Alexandru Severin - 3 months ago 69
Java Question

Process thymeleaf variable as html code and not string

I'm using Thymeleaf to process html templates, I understood how to append inline strings from my controller, but now I want to send a fragment of html code from the application to the page.

For example, lets stay that I have this in my java application:

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);


What do I need to write in the html page so that it would be replaced by the "n" variable and be processed as html code and not String?

Answer

You can use th:utext attribute that stands for unescaped text (see documentation). Use this with caution and avoid user input in th:utext as it can cause security problems.

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