当前位置: 首页 > 知识库问答 >
问题:

如何在Thymeleaf和Spring Boot中显示消息?

朱宜
2023-03-14

我创建了一个使用Thymeleaf作为模板引擎的Spring Boot Web应用程序。我配置了MessageSource以在子文件夹中查找消息:

@Bean
public MessageSource messageSource() {
    final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();

    messageSource.setBasename("i18n/messages");
    messageSource.setFallbackToSystemLocale(false);
    messageSource.setCacheSeconds(0);

    return messageSource;
}

在这个文件夹中,我创建了文件messages_de.properties,内容为ticket.type.BUG=Fehler。在我的模板中,我尝试这样显示文本:

<p th:text="#{ticket.type.BUG}">BUG</p>

但在呈现页面时,我会得到以下结果:

<p>??ticket.type.BUG_de_DE??</p>

我错过了什么?我必须配置任何其他bean吗?

P、 S.:

在“服务器端”,我可以使用MessageSource获取消息(“ticket.type.BUG”,null,Locale.GERMANY)。

共有3个答案

颛孙越
2023-03-14

我解决i18n消息传递的方法是像您一样定义MessagesSource。此外,我还必须重写WebMVCConfigureAdapter的getValidator()方法。

@Override
public Validator getValidator() {
    LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
    validator.setValidationMessageSource( messageSource() );
    return validator;
}

在这之后,它对我起了作用。

胡俊美
2023-03-14

并将其添加到应用程序中。属性文件

#messages
spring.messages.basename=i18n/messages

并将文件存储在上面指定的正确文件夹中。

您不需要消息源bean

傅新
2023-03-14

因为我使用的是Spring Boot,所以MessageSource配置了MessageSourceAutoConfiguration。这些设置可以在应用程序中轻松更改。属性文件。在我的情况下,我必须将以下内容添加到此文件中:

spring.messages.basename=i18n/messages
 类似资料:
  • 我正在使用thymeleaf和spring 3 mvc。当我尝试执行Ajax POST请求时,我不明白如何在html页面上显示来自控制器的响应消息: 这是一个代码片段: “响应”是来自控制器的i18n消息。现在,我想在使用thymeleaf(th:text=“response”)时显示这条消息。当然,这段代码不起作用,因为它认为响应变量是一个普通字符串。 问题是如何使用thymeleaf显示国际化

  • 当我发送日期时,Thymeleaf日期格式有问题。HTML在h3标记中正确地显示了日期,但不在datepicker的代码中,我不明白为什么.... 为什么它在一个地方用小时显示日期,而在另一个地方却正确地显示日期....输入type=“date”name=“birthdate”id=“birthdate”class=“窗体-控件边际-底部-20”value=“1932-10-10 00:00:00

  • 问题内容: 我正在使用Spring 3和Thymeleaf制作一些网页,但我不知道如何显示这样的消息: welcome.message =您好{0},欢迎光临! 然后将{0}替换为thymeleaf标签内的用户名: 我什至不确定{0}是否是捆绑消息的正确语法。 问题答案: 您可以使用 替换时使用的值在哪里? 您应该能够用逗号分隔各个值,以添加更多要使用的值。

  • 我想创建网站。我已经配置了登录“/login”和注册“/registration”页面。这个网站的主要任务是显示每个学生的时间表。现在我需要在页面“/Schedule”上显示科目列表,使用HTML-table,根据学生注册时选择的字段组和课程。我有14个不同的表格和科目列表(一个表格-一组学生)。 是否需要为每个表创建@Entity类和存储库? 如何使用注册数据显示学生信息? 页面“/计划”的控制

  • 我正在mongodb中存储博客帖子。帖子可以有新行(存储为)和/或锚标记。 通过在my thymeleaf视图中执行此操作,我可以显示新行: 但是锚标签显示为纯文本。 如何将来自控制器的锚标记格式化为指向另一个站点的实际链接?

  • 我正在尝试用spring显示一个报告PDF,我终于得到了它,但是问题出现在我的代码中有一个异常或错误的时候。在这种情况下,我想在我的应用程序中显示特殊的消息。sping控制器返回一个带有文件pdf的ResponseEntity和一个http状态代码。