[SPRING] Spring 프레임 워크 : 로케일 용 코드 아래에 메시지가 없습니다.
SPRINGSpring 프레임 워크 : 로케일 용 코드 아래에 메시지가 없습니다.
이것은 내 messageResource 선언입니다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<!-- Auto-detect controllers in this package -->
<context:component-scan base-package="levelup.world.web" />
<!-- Prepend /WEB-INF/jsp/ and append .jsp to the view name -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- Access resource bundles with the specified basename -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="/WEB-INF/messages/" />
</beans>
내 응용 프로그램을 실행할 때이 오류가 나타납니다.
No message found under code 'country.plural' for locale 'fil_PH'
이제 web-inf 내부의 메시지 폴더 안에 다음과 같은 메시지 속성이 있습니다.
messages_en.properties
messages_fr.properties
messages.properties
나는 무엇을 여기에서 놓치고 있냐?
해결법
-
==============================
1.일반적으로 이러한 문제는 존재하지 않는 로켈 때문에 나타나지 않지만 MessageBundle이 잘못 구성되어 있기 때문에 나타납니다. 귀하의 경우 귀하의 basename에서 "/"를 제거해야 할 것 같습니다.
일반적으로 이러한 문제는 존재하지 않는 로켈 때문에 나타나지 않지만 MessageBundle이 잘못 구성되어 있기 때문에 나타납니다. 귀하의 경우 귀하의 basename에서 "/"를 제거해야 할 것 같습니다.
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" p:basename="/WEB-INF/messages" />
왜 그렇게 :
messages.properties 및 messages_en.properties bundle이 있으면 bundle name은 메시지입니다. WEB-INF 폴더에있는 경우 basename은 / path / to / bundle / bundlename에 따라 / WEB-INF / messages입니다. / WEB-INF / messages 폴더 내에 messages.properties가 있으면 해당 기본 이름은 / WEB-INF / messages / messages입니다.
-
==============================
2.스프링 부트에는 다음과 같은 것이 필요합니다.
스프링 부트에는 다음과 같은 것이 필요합니다.
@Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename("/WEB-INF/classes/messages"); return messageSource; }
-
==============================
3.Spring 부트 application.properties에도 지정할 수 있습니다.
Spring 부트 application.properties에도 지정할 수 있습니다.
# INTERNATIONALIZATION spring.messages.basename=i18n/messages spring.messages.encoding=UTF-8
from https://stackoverflow.com/questions/15065734/spring-framework-no-message-found-under-code-for-locale by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 자바 구성으로 Spring ConversionService를 구성하는 방법은 무엇입니까? (0) | 2019.01.05 |
---|---|
[SPRING] 스프링 부트 응용 프로그램없이 스프링 부트 액츄에이터 사용 (0) | 2019.01.05 |
[SPRING] 'sessionFactory'라는 이름으로 빈을 생성하는 중 오류가 발생했습니다 : MalformedParameterizedTypeException (0) | 2019.01.05 |
[SPRING] Spring Bean으로 EJB 3 주입하기 (0) | 2019.01.05 |
[SPRING] 스프링 부트 JSF 통합 (0) | 2019.01.05 |