#java #html #spring #spring-boot #thymeleaf
#java #HTML #spring #весенняя загрузка #thymeleaf
Вопрос:
Есть ли способ прочитать значения из файла свойств в thymleaf с помощью spring boot? например: — сообщения о проверке, метки загрузки из файла свойств.
Я использую spring boot версии 2.1.3 и thymleaf версии 3.0.11, мне нужно динамически устанавливать метки в моем приложении, используя файл свойств. Я не смог найти способ получить доступ к файлу свойств непосредственно в thymleaf.
Я попытался создать файл lables.properties в ресурсах, например:-
field1 = "Name"
field2 = "Description"
Я попытался получить доступ к thymleaf, используя вот так,
<a href="./admin"><p class="text-uppercase" th:text="#{field1}"></p></a>
Но это работало не так.
В моем представлении HTML это отображается как ??label1_en_US??». Кто-нибудь может мне помочь разобраться в этом?
Ответ №1:
Попробуйте переименовать свой lables.properties
в messages.properties
, чтобы проблема разрешилась автоматически при загрузке Spring.
Если это все еще не работает, рассмотрите возможность определения явного источника сообщения, такого как:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
Базовые имена — это, по сути, имена ваших файлов свойств без .properties
расширения.
Комментарии:
1. Спасибо за ответ, это действительно полезно. Оба варианта, которые вы предоставили, работают нормально. мне нужно прояснить одну вещь, когда я пишу явный источник сообщения, я написал это в основном классе Spring boot, это правильно или я должен написать это по-другому?
2. Спасибо. Хорошо относительно основного класса или нет. Если у вас довольно маленькое приложение, и это будет ваш единственный компонент, определенный вручную, я бы поместил его в основной класс. Если ваше приложение имеет тенденцию быть больше, логическое разделение компонентов конфигурации имеет смысл. В конце концов, это действительно зависит от вас!
3. Большое вам спасибо за помощь, теперь я понял, чего я действительно хочу. Заранее еще раз спасибо.