Message Source
- 작성자 :
- 최*혁
- 작성일 :
- 2010-12-08 15:23:30
- 조회수 :
- 2,873
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
CommonMessageSource 클래스를 사용 중인데요.
getMessage() 메소드 호출해서 단독 문자열 메시지는 정상적으로 가져옵니다.
가령 fail.common.login.fail 이라는 메시지가 있다면
getMessage("fail.common.login.fail") 호출은 정상인데요.
getMessage("fail.common.login.fail",new String[]{"param1", "param2}, Locale.getDefault()) 호출은 비정상적이네요.
원인은 파라미터가 전달 되었을 경우 fail.common.login.fail 메시지를 파일로부터 찾지 못 합니다.
제 생각에는 파라미터가 있는 경우 CommonMessageSource 클래스가 정상적으로 작동 못하는 거 같습니다.
저의 클래스 호출에 문제될 게 있을까요?
getMessage() 메소드 호출해서 단독 문자열 메시지는 정상적으로 가져옵니다.
가령 fail.common.login.fail 이라는 메시지가 있다면
getMessage("fail.common.login.fail") 호출은 정상인데요.
getMessage("fail.common.login.fail",new String[]{"param1", "param2}, Locale.getDefault()) 호출은 비정상적이네요.
원인은 파라미터가 전달 되었을 경우 fail.common.login.fail 메시지를 파일로부터 찾지 못 합니다.
제 생각에는 파라미터가 있는 경우 CommonMessageSource 클래스가 정상적으로 작동 못하는 거 같습니다.
저의 클래스 호출에 문제될 게 있을까요?
A
안녕하세요.. 최재혁님..
Root Web ApplicationContext와 WebApplicationContext에 messageSource에 대한 중복 문제인 것 같습니다.
우선.. CommonMessageSource 클래스에..
다음 메소드를 추가하십시오.
public String getMessage(String code, Object[] args) {
return getReloadableResourceBundleMessageSource().getMessage(code, args, Locale.getDefault());
}
그리고.. getMessage 호출 부분에 다음과 같이 변경 적용하시면 될 것 같습니다.
getMessage("fail.common.login.fail",new String[]{"param1", "param2});
그럼.. 즐거운 하루되십시오.
감사합니다.
Root Web ApplicationContext와 WebApplicationContext에 messageSource에 대한 중복 문제인 것 같습니다.
우선.. CommonMessageSource 클래스에..
다음 메소드를 추가하십시오.
public String getMessage(String code, Object[] args) {
return getReloadableResourceBundleMessageSource().getMessage(code, args, Locale.getDefault());
}
그리고.. getMessage 호출 부분에 다음과 같이 변경 적용하시면 될 것 같습니다.
getMessage("fail.common.login.fail",new String[]{"param1", "param2});
그럼.. 즐거운 하루되십시오.
감사합니다.