[스프링 MVC 2] 메시지, 국제화

둡둡·2022년 12월 15일
0

Spring-MVC-2

목록 보기
4/6

메시지

  • label 등 다양한 메시지를 한 곳에서 관리하는 기능
  • messages.properties
item=상품 
item.id=상품 ID 
item.itemName=상품명 
item.price=가격 
item.quantity=수량
  • 각 HTML에서 해당 데이터를 key 값으로 사용
    • th:text=#{item.id} : '상품 ID' 사용

국제화

  • 언어/국가별로 별도 관리하여 메시지 국제화 가능
  • messages_en.properties
item=Item
item.id=Item ID
item.itemName=Item Name
item.price=price
item.quantity=quantity

스프링 메시지 소스 설정

스프링

  • MessageSource : 스프링 빈 직접 등록

스프링 부트

  • MessageSource : 스프링 빈 자동 등록
    • messages_properties(기본 값), messages_en.properties 등의 파일만 등록하면 자동 인식
  • application.properties
spring.messages.basename=message

스프링 메시지 소스 테스트

  • getMessage(code, args, "기본 메시지", locale)
    • code : 설정한 코드명 (item.itemName, item.price)
    • args : {0} 안에 설정할 매개변수 값 (안녕 {0} -> new Object[]{"Spring "} -> 안녕 Spring)
    • 해당 코드가 없는 경우 기본 메시지 출력
    • locale : 언어 설정 (Locale.KOREA, Locale.ENGLISH)

웹 애플리케이션 메시지/국제화 적용

메시지

  • #{...} 표현식 사용
    • #{label.item, item.itemName, etc.}
  • 파라미터의 경우
    • th:text="#{key(${파라미터})}"

국제화

  • 언어/국가별 파일만 생성하면 웹 브라우저 언어 설정에 따라 자동 적용
  • messages_en.properties, messages_ko.properties

[출처] 스프링 MVC 2 - 김영한, 인프런

profile
괴발개발라이프

0개의 댓글