问题描述
我知道...此类问题已由stackOverflow上的其他用户报告。即使如此,我一直在尝试许多不同的解决方案,但均未成功。我正在使用spring-boot编码其余的微服务,并将消息加载到以下文件夹:“ / src / main / resources”
messages.properties;
messages_en_US.properties
messages_pt_BR.properties
我的bean验证消息是这样映射的:
@NotBlank(message = "{customer.input.password.notblank}")
@Length(max = 12,message="{customer.input.password.maxlength}")
@NotNull(message="{customer.input.password.notnull}")
@ValidPassword(message = "{customer.input.password.invalid}")
private String password;
我的MessageSource bean是在我的主要spring boot类中定义的。
@Bean(name="messageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
Locale.setDefault(Locale.US);
messageSource.setBasename("/WEB-INF/messages");
messageSource.setdefaultencoding("UTF-8");
return messageSource;
}
package com.rumblesoftware.utils;
import java.util.Locale;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Component;
@Component
public class PostOfficer {
@Autowired
@Qualifier(value = "messageSource")
private MessageSource ms;
public String getMessage(String messageId) {
return ms.getMessage(messageId,null,Locale.getDefault());
}
}
org.springframework.context.NoSuchMessageException: No message found under code '{customer.input.password.invalid}' for locale 'en_US'.
at org.springframework.context.support.AbstractMessageSource.getMessage(AbstractMessageSource.java:161) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
解决方法
我终于找到了问题所在。实际上,代码是正确的,但是当我只需要这样做时,错误消息标识符就会通过“ {”“}”来传递:
<meta http-equiv="Content-Security-Policy" >