spring로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

spring로 검색한 결과
등록일:2008-06-11 16:42:02
작성자:
제목:MessageSource 사용 예


ApplicationContext가 MessageSource 인터페이스를 구현했기 때문에 ApplicationContext를 MessageSource 처럼 사용할 수 있습니다.

greeting에 관한 메시지를 받아 오는 예제를 작성해 보겠습니다.

    @Test public void messageSource(){
        MessageSource messageSouce = bf;
        assertTrue(messageSouce.getMessage("greeting", null, "Default", null).
                equals("It's good to see you"));
    }

테스트는 실패 합니다. 이 테스트를 통과 시키기 위해서는 properties 파일1 과 간단한 xml 설정이 필요합니다.

먼저 format.properties 파일을 만듭니다.
greeting=It's good to see you

xml에는 다음 과 같이 format.properties 파일을 읽을 수 있도록 설정합니다.
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
              <list>
                <value>format</value>
              </list>
        </property>
      </bean>

그럼 이제 테스트가 통과 하는 걸 확인 할 수 있습니다. bean의 이름은 항상 messageSource여야 합니다.

이번에는 똑같이 greeting에 관한 메시지를 받아 오지만 Locale을 이용해서 Locale.KOREA와 Locale.ENGLISH를 사용하여 i18n을 해봅니다.

테스트 코드를 다음과 같이 수정합니다.
    @Test public void messageSource(){
        MessageSource messageSouce = bf;
        assertEquals(messageSouce.getMessage("greeting", null, "Default", Locale.ENGLISH)
                ,"It's good to see you");
        assertEquals(messageSouce.getMessage("greeting", null, "Default", Locale.KOREA)
                ,"hi");
    }

properties 파일 이름을 변경하고 하나를 추가합니다.
#format_en.properties
greeting=It's good to see you
#format_ko_KR.properties
greeting=hi


xml 파일은 그대로 두고 테스트를 실행합니다. 테스트는 녹색불이 켜집니다.

format 뒤에 접미어는 Locale 클래스의 상수를 보고 거기에 따라 붙여 줘야 합니다. 그래야 ResouceBundle이 Locale에 따라 적당한 properties파일로 부터 message를 읽어옵니다.

Properties 참조 : http://blog.naver.com/swucs?Redirect=Log&logNo=40007033984

출처 : http://whiteship.tistory.com/570