- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想读取 messages.properties 文件中的属性。但是当我打电话时
messageSource.getMessage("property", null, Locale.getDefault())
我收到 NoSuchMessageException。
我已经尝试将 messages.properties-File 重命名为 messages_de_DE.properties 并使用 Locale.GERMANY,但没有区别。
该文件位于 src/main/resources
这是我的入门类(class):
@SpringBootApplication
public class Start extends SpringBootServletInitializer {
public static void main(final String[] args) {
SpringApplication.run(Start.class, args);
}
@Bean
public MessageSource messageSource() {
final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath*:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocalValidatorFactoryBean validator(final MessageSource messageSource) {
final LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(messageSource);
return bean;
}
}
我做错了什么?
最佳答案
尝试这样的事情:
@Configuration
public class MessageConfig {
private final MessageSource source;
private final MessageSourceAccessor accessor;
@Autowired
public MessageConfig(MessageSource messageSource) {
this.accessor = new MessageSourceAccessor(this.source = messageSource, new Locale("de", "DE"));
}
@Bean
public Validator validator() {
LocalValidatorFactoryBean factory = new LocalValidatorFactoryBean();
factory.setValidationMessageSource(this.source);
return factory;
}
public String get(String msg) {
try {
Assert.hasText(msg, "message code must be not blank");
return this.accessor.getMessage(msg.trim());
} catch (NoSuchMessageException e) {
return '{' + msg + '}';
}
}
}
请使用现有的 MessageSource
并将属性文件放入 /src/main/resources
。另外,尝试将消息文件重命名为 messages_de.properties
。
关于java - 调用 MessageSource#getMessage 时如何修复 'NoSuchMessageException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56674647/
我想读取 messages.properties 文件中的属性。但是当我打电话时 messageSource.getMessage("property", null, Locale.getDefaul
尝试调用时出现以下异常: ManagementServiceV1X0 managementService = (ManagementServiceV1X0)factory.getPort(Manage
我定义了以下 Spring bean: classpath:messages Controller : @Contr
我试图通过部署一个简单的动态Web项目来理解Spring框架中国际化(I18N)的概念。我遇到了一个无法解决的问题。以下是使用的 jar 文件: *commons-logging.jar *org.s
我正在使用 Spring Boot 1.5.4 和 Spring Data REST。我将 messages.properties 放入 resources/i18n 文件夹中。在这个文件夹中,我有两
我正在开发一个使用 FreeMarker 作为模板引擎的 Spring Boot Web 应用程序。 我有 1.4.0 版本的 spring-boot 并使用自动配置,有国际化和针对不同语言环境的很少
尝试使用spring i18n为我的应用程序实现国际化,但是当调用messageSource.getMessage()时,抛出noSuchMessageException异常,详细信息如下: deta
试图让 Spring 国际化工作。我使用了 classpath:messages basename,为语言创建了 .properties 文件。它们正被正确地复制到 web-inf 文件夹中,并且代码
我有一个带有 REST Controller 和为其编写的 Mockito 单元测试用例的 Springboot 应用程序。问题是我在运行测试用例时通过读取 RestController 中的 mes
我是一名优秀的程序员,十分优秀!