Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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"?

like image 528
JohnPortella Avatar asked Aug 01 '14 02:08

JohnPortella


2 Answers

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> 
like image 170
Faraj Farook Avatar answered Sep 17 '22 21:09

Faraj Farook


Regardless of the semantics of tags, the correct answer is this one:

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

In this way Thymeleaf removes de <span> tag and the results is what you expect:

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

Regards!

like image 40
Emiliano Schiano Avatar answered Sep 20 '22 21:09

Emiliano Schiano