Thymeleaf th:text - Put a text without removing HTML structures

JohnPortella picture JohnPortella · Aug 1, 2014 · Viewed 88.3k times · Source

I'm new in thymeleaf and I try to create a template. My problem is this code:

CODE

<h1 th:text="${header.title}" >
   title
   <small th:text="${header.subtitle}" >Subtitle</small>
</h1>

I want to get this output:

<h1> TITLE <small> SUBTITLE</small> </h1>

But this is the real output:

<h1> TITLE </h1>

How can I do so it doesn't remove what is inside of "small"?

Answer

Faraj Farook picture Faraj Farook · Mar 28, 2015

I faced the same problem. The answer is th:inline='text'

This should solve your issue

<h1 th:inline="text" >
   [[${header.title}]]
   <small th:text="${header.subtitle}">Subtitle</small>
</h1>

or you can also use th:remove="tag"

<h1>
    <span th:text="${header.title}" th:remove="tag">title</span>
    <small th:text="${header.subtitle}" >Subtitle</small>
</h1>