Как я могу использовать строку, показанную Thymeleaf, на странице с заглавной буквы?

Я работаю над приложением Spring MVC, которое использует Thymeleaf в качестве механизма шаблонов, и я пытаюсь использовать некоторые строки, отображаемые на моей странице, с заглавной буквы. У меня на страничке что-то вроде этого:

<li class="com__nav-item" th:each="menuItem : ${#authentication.principal.listaFunzioniUtente}">
    <a href="" class="com__nav-link centered">
        <span class="blue-line animate scaleIn delay-3" style="font-size: 1.4em; text-align: center;" th:text="${#strings.capitalize(menuItem.desFnz)}"></span>
        <span class="white-circle animate scaleIn delay-5"></span>
    </a>
</li>

Как вы можете видеть в предыдущем коде, в первом теге <span> я показываю строку внутри свойства desFnz объекта menuItem.

Он работает нормально, моя проблема в том, что я хочу использовать все символы с заглавной буквы, поэтому я попытался сделать:

th:text="${#strings.capitalize(menuItem.desFnz)}"

используя #strings.capitalize(), но он не может работать, фактически на моей странице я все еще получаю текст, но не с заглавной буквы. Почему? Что мне не хватает? Как я могу исправить эту проблему?


person AndreaNobili    schedule 15.03.2016    source источник
comment
Какую версию Thymeleaf вы используете?   -  person Zakaria    schedule 15.03.2016
comment
@Zakaria Я использую 2.1.4.RELEASE ThymeLeaf   -  person AndreaNobili    schedule 15.03.2016
comment
Вы используете атрибуты класса и стиля. Так что в крайнем случае вы можете оставить это CSS, добавив text-transform: uppercase;   -  person MyBrainHurts    schedule 15.03.2016


Ответы (3)


#strings.capitalize(menuItem.desFnz) будет использовать только 1-й символ с заглавной буквы, тогда как #strings.toUpperCase(menuItem.desFnz) преобразует всю строку в верхний регистр. Вот документация для класса Strings.

person Pradeep Pati    schedule 15.03.2016

Просто добавляю точку зрения Прадипа Пати. Если вы используете его в проекте весенней загрузки, где некоторые из ваших значений поступают из messages.properties

как В файле messages.properties у вас есть что-то вроде:

email.dailyAlert.greeting.newTemplate = Dear {0},

Затем, чтобы заменить значение вместо {0} (в случае заголовка), вам нужно написать, как показано в строке ниже.

<p th:text="#{email.dailyAlert.greeting.newTemplate(${#strings.capitalize(orgSlug)})}"></p>

Окончательный результат будет:

Уважаемая Организация,


person Rahul Kumar    schedule 12.05.2021

ты можешь сделать это

$string.toLowerCase() or $string.toUpperCase()

person Sanjay Makwana    schedule 11.04.2019