Reputation: 469
I'm using Thymeleaf in my Spring Boot project.
I've got a text string which contains some HTML tags and my goal is to print it without styling as well as without any HTML tags.
Using:
<p th:text="${myString}"> </p>
I've got something like this:
<b> text </b>
And that's ok because the value of myString text string is
String myString = "<b> text </b>";
So trying to do it in other way, using:
<p th:utext="${myString}"> </p>
I've got something like this:
text
But my goal ist to get non-formatted plain text like this:
text
Simply text without any HTML tags and without rendering the HTML code.
How can I acheive this with using Thymeleaf only?
I've tried some th:remove="tags" along with th:inline="text" but It doesn't work so far.
Thanks in advance
Upvotes: 4
Views: 4241
Reputation: 1423
You use th:block in Thymeleaf. it is only thymeleaf sentence and don`t rendering html code.
Sample code
<th:block th:text="${message}"></th:block>
Upvotes: 0
Reputation: 20477
Thymeleaf doesn't have any native support for this, so you're going to have to find your favorite library for removing tags use it instead. In this example, I used Jsoup.
After adding it to your pom file, something like this should work:
<div th:text="${T(org.jsoup.Jsoup).parse(myString).text()}" />
You could also create your own dialect that does it automatically, but that's more complicated. Then you could use your own attributes:
<div bohdan::removehtml="${myString}" />
Upvotes: 8