Значки Materializecss исчезают из html после использования атрибута th:text из thymeleaf

#html #spring-boot #thymeleaf

Вопрос:

В настоящее время я изучаю разработку веб-приложений с помощью Spring, и во время этого я столкнулся с досадной проблемой.

Так что давайте перейдем к делу. Я использую materializecss, который позволяет сделать кнопку со значком просто:

 <button class="waves-effect waves-light btn" type="submit" name="save">Send
    <i class="material-icons left">send</i>
</button>
 

И я получаю красивую кнопку со значком:
Ссылка

Но как только я добавляю атрибут thymeleaf th:text, это приводит к исчезновению значка.

Таков код:

 <button class="waves-effect waves-light btn" type="submit" name="save"
        th:text="#{submit}">Send
    <i class="material-icons right">send</i>
</button>
 

У вас есть какие-нибудь идеи, в чем может быть причина?

Ответ №1:

th:текст перезаписывает все дочерние теги. Вы должны переместить текст в его собственный тег. Вот так, например:

 <button class="waves-effect waves-light btn" type="submit" name="save">
    <span th:text="#{submit}" />
    <i class="material-icons right">send</i>
</button>
 

Комментарии:

1. Вы правы! Теперь он работает идеально. Спасибо вам 🙂