如何从 thymeleaf 中的属性文件中读取值
Posted
技术标签:
【中文标题】如何从 thymeleaf 中的属性文件中读取值【英文标题】:How to Read values from a properties file in thymleaf 【发布时间】:2019-08-07 23:56:39 【问题描述】:有没有办法使用 spring boot 从 thymleaf 中的属性文件中读取值? 例如:- 验证消息,从属性文件中加载标签。
我正在使用 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 Boot 自动解决。
如果这仍然不起作用,请考虑定义一个显式消息源,例如:
@Bean
public MessageSource messageSource()
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
基本名称基本上是您的属性文件的名称,不带 .properties
扩展名。
【讨论】:
感谢您的回答,它真的很有帮助。您提供的两个选项都可以正常工作。当我写明确的消息源时我需要澄清一件事我在 Spring Boot 主类中写的它是正确的还是我必须以不同的方式写它? 谢谢。关于主要课程与否。如果您有一个相当小的应用程序,并且这将是您唯一手动定义的 bean,我会将其放入主类中。如果您的应用程序往往更大,那么配置 bean 的逻辑分离是有意义的。最后,这真的取决于你! 非常感谢你帮助我,现在我明白了我真正想要的是什么。再次提前感谢。以上是关于如何从 thymeleaf 中的属性文件中读取值的主要内容,如果未能解决你的问题,请参考以下文章