Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 그리디
- transaction
- JDBC
- spring
- kotlin
- Proxy
- QueryDSL
- springdatajpa
- Greedy
- AOP
- SpringBoot
- Thymeleaf
- 자바
- 스프링 핵심 기능
- 백준
- jpa
- Servlet
- Exception
- db
- 스프링
- 스프링 핵심 원리
- Android
- http
- JPQL
- 인프런
- java
- 김영한
- Spring Boot
- pointcut
- 알고리즘
Archives
- Today
- Total
개발자되기 프로젝트
[Thymealef] 메시지, 국제화 본문
1. 메시지 기능.
- 화면에 보이는 문구가 마음에 들지 않는다고,
- 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까?
- 여러 화면에 보이는 상품명, 가격, 수량 등, label 에 있는 단어를 변경하려면
- 관련있는 모든 화면들을 다 찾아가면서 변경해야 한다.
- addForm.html , editForm.html , item.html , items.html 귀찮다..
- 이렇게 다 바꿔야 하는 이유가 뭘까?
- 바로 HTML 파일에 메시지가 하드코등 되어있기 때문.
- 메시지를 한 곳에서 관리하는 기능이 메시지 기능임.
- 예를들어 message.properties 와 같은 관링용 파일 생성.
item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량
- 각 HTML에서는 해당 data를 key값으로 불러서 사용
-
<label for="itemName" th:text="#{item.itemName}"></label>
-
<label for="itemName" th:text="#{item.itemName}"></label>
-
2. 국제화
- 한국에서 들어가면 한국어, 미국에서 들어가면 영어로 보이도록 하고싶다.
- 메시지에서 설명한 메시지 파일( messages.properteis )을 각 나라별로 별도로 관리하면
- 서비스를 국제화 할 수 있다.
- 예를 들어서 다음과 같이 2개의 파일을 만들어서 분류한다.
- messages_en.properties
-
item=Item item.id=Item ID item.itemName=Item Name item.price=price item.quantity=quantity
- messages_ko.propertis
-
item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량
- 그러면 어느 나라에서 접속한지 어떻게 판단할까?
- HTTP accept-language 해더 값 사용
- 사용자가 직접 언어를 선택, 쿠키 등을 사용해서 처리
그런데, 스프링과 타임리프는 메시지와 국제화 기능을 편리하게 사용할 수 있도록 제공한다. ㄱㅇㄷ
직접 구현할 필요는 없다.
3. GitHub : Message
'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글
Spring 메시지 소스 활용 (0) | 2021.09.24 |
---|---|
Spring 메시지 소스 설정 (0) | 2021.09.24 |
select box (0) | 2021.09.23 |
라디오버튼, radio button (0) | 2021.09.23 |
체크박스 - 멀티 (0) | 2021.09.23 |
Comments