Thymeleaf 및 Spring Boot에서 메시지를 표시하는 방법은 무엇입니까?
저는 Thymeleaf를 템플릿 엔진으로 사용하는 Spring Boot 웹 애플리케이션을 만들었습니다.구성했습니다.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>
제가 무엇을 빠뜨리고 있나요?추가로 콩을 구성해야 합니까?
추신:
'서버 측'에서 다음을 사용하여 메시지를 얻을 수 있습니다.MessageSource#getMessage("ticket.type.BUG", null, Locale.GERMANY)
.
Spring Boot을 사용하고 있기 때문에,MessageSource
으로 구성되어 있습니다.이러한 설정은 에서 쉽게 변경할 수 있습니다.application.properties
파일입니다. 제 경우에는 다음을 이 파일에 추가해야 했습니다.
spring.messages.basename=i18n/messages
그리고 이것을 당신의 것에 추가합니다.application.properties
파일
#messages
spring.messages.basename=i18n/messages
파일을 위에서 지정한 대로 올바른 폴더에 저장합니다.
필요없습니다messageSource
콩을
제가 i18n 메시지를 해결한 방법은 다음을 정의하는 것이었습니다.MessagesSource
너와 같은 존재야.게다가 나는 그것을 무시해야 했습니다.getValidator()
의 방법WebMvcConfigurerAdapter
.
@Override
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource( messageSource() );
return validator;
}
그 후에, 그것은 저에게 효과가 있었습니다.
파일이 있습니까?messages.properties
(아니오_de
폴백을 허용하기 위해 현재?작동합니까?브라우저가 로케일로 설정되어 있습니까?DE_de
?
메시지 소스는 클래스 경로에 상대적입니다.
messageSource.setBasename(" classpath:i18n/messages");
여기 제가 참고한 타임리프와 봄에 대한 튜토리얼이 있습니다 = http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html
언급URL : https://stackoverflow.com/questions/29532172/how-to-display-messages-in-thymeleaf-and-spring-boot
'programing' 카테고리의 다른 글
깃풀 미리보기 방법? (0) | 2023.07.15 |
---|---|
장고를 사용하여 표의 모든 데이터를 제거하는 방법 (0) | 2023.07.15 |
스키마 이름을 변경하는 방법? (0) | 2023.07.15 |
XAML - 'Content' 속성이 두 번 이상 설정되었습니다. (0) | 2023.07.15 |
MongoDB의 모든 아이들을 어떻게 얻을 수 있습니까? (0) | 2023.07.15 |