【问题标题】:How to Read values from a properties file in thymleaf如何从 thymeleaf 中的属性文件中读取值
【发布时间】: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??"。 谁能帮我解决这个问题?

【问题讨论】:

    标签: java html spring spring-boot thymeleaf


    【解决方案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 的逻辑分离是有意义的。最后,这真的取决于你!
    • 非常感谢你帮助我,现在我明白了我真正想要的是什么。再次提前感谢。
    猜你喜欢
    • 2012-03-04
    • 2019-03-26
    • 2015-05-12
    • 2011-08-10
    • 2021-10-23
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多