Thymeleaf th: text - Поместить текст без удаления HTML-структур
Я новичок в тимелеафе, и я пытаюсь создать шаблон. Моя проблема заключается в этом коде:
КОД
<h1 th:text="${header.title}" >
title
<small th:text="${header.subtitle}" >Subtitle</small>
</h1>
Я хочу получить этот результат:
<h1> TITLE <small> SUBTITLE</small> </h1>
Но это реальный результат:
<h1> TITLE </h1>
Как я могу это сделать, он не удаляет то, что находится внутри "маленького"?.
Заранее спасибо.
Ответы
Ответ 1
Я столкнулся с такой же проблемой. Ответ: th:inline='text'
Это должно решить вашу проблему
<h1 th:inline="text" >
[[${header.title}]]
<small th:text="${header.subtitle}">Subtitle</small>
</h1>
или вы также можете использовать th:remove="tag"
<h1>
<span th:text="${header.title}" th:remove="tag">title</span>
<small th:text="${header.subtitle}" >Subtitle</small>
</h1>
Ответ 2
Независимо от семантики тегов, правильный ответ таков:
<h1>
<span th:text="${header.title}" th:remove="tag">title</span>
<small th:text="${header.subtitle}" >Subtitle</small>
</h1>
Таким образом Thymeleaf удаляет <span>
и результаты - то, что вы ожидаете:
<h1>
TITLE
<small>SUBTITLE</small>
</h1>
С уважением!
Ответ 3
Я не уверен, что вы пытаетесь, так как small
теги в h1
не будут казаться маленькими. th:text
тег Thymeleaf th:text
заменит весь текст в вашем теге h1
, поэтому ваш вывод показывает только "TITLE". Вы должны поместить теги <small>
вне вашего тега h1
.
<h1 th:text="${header.title}">title</h1>
<small th:text="${header.subtitle}">Subtitle</small>
И я считаю, что вы ищете этот ответ:
<h1>
<span th:text="${header.title}" th:remove="tag">title</span>
<small th:text="${header.subtitle}">Subtitle</small>
</h1>
Ответ 4
в дополнение к ответу @Faraj, вы также можете использовать th:block
like this
<h1>
<th:block th:utext="${header.title}"/>
<small th:text="${header.subtitle}" >Subtitle</small>
</h1>