Spring
스프링 MVC 2 - 웹 애플리케이션에 국제화 적용하기
스프링 MVC 2 - 웹 애플리케이션에 국제화 적용하기
2022.08.22웹 애플리케이션에 국제화 적용하기 이번에는 웹 애플리케이션에 국제화를 적용해보자. 먼저 영어 메시지를 추가하자. messages_en.properties 사실 이것으로 국제화 작업은 거의 끝났다. 앞에서 템플릿 파일에는 모두 #{...}를 통해서 메시지를 사용하도록 적용해두었기 때문이다. 웹으로 확인하기 웹 브라우저의 언어 설정 값을 변경하면서 국제화 적용을 확인해보자. 크롬 브라우저 → 설정 → 언어를 검색하고, 우선 순위를 변경하면 된다. 우선순위를 영어로 변경하고 테스트해보자. 웹 브라우저의 언어 설정 값을 변경하면 요청시 Accpet-Language의 값이 변경된다. Accept-Language는 클라이언트가 서버에 기대하는 언어 정보를 담아서 요청하는 HTTP 요청 헤더이다. (더 자세한 내용은..
스프링 MVC 2 - 웹 애플리케이션에 메시지 적용하기
스프링 MVC 2 - 웹 애플리케이션에 메시지 적용하기
2022.08.20웹 애플리케이션에 메시지 적용하기 실제 웹 애플리케이션에 메시지를 적용해보자. 먼저 메시지를 추가 등록하자. messages.properties 타임리프 메시지 적용 타임리프 메시지 표현식 #{...}을 사용하면 스프링의 메시지를 편리하게 조회할 수 있다. 예를 들어서 방금 등록한 상품이라는 이름을 조회하려면 #{label.item}이라고 하면 된다. 랜더링 전 랜더링 후 상품 타임리프 템플릿 파일에 메시지를 적용해보자. 적용 대상 addForm.html editForm.html item.html items.html addForm.html 페이지에 이름 적용 상품 등록 폼 상품 등록 레이블에 적용 상품명 상품명 가격 수량 버튼에 적용 상품 등록 저장 취소 editForm.html item.html ite..
스프링 MVC 2 - 스프링 메시지 소스 사용
스프링 MVC 2 - 스프링 메시지 소스 사용
2022.08.19스프링 메시지 소스 사용 MessageSource 인터페이스 MessageSource 인터페이스를 보면 코드를 포함한 일부 파라미터로 메시지를 읽어오는 기능을 제공한다. 스프링이 제공하는 메시지 소스를 어떻게 사용하는지 테스트 코드를 통해서 학습해보자. test/java/hello/itemservice/message.MessageSourceTest.java ms.getMessage("hello", null, null) code: hello args: null locale: null 가장 단순한 테스트는 메시지 코드로 hello를 입력하고 나머지 값은 null을 입력했다. locale 정보가 없으면 basename에서 설정한 기본 이름 메시지 파일을 조회한다. basename으로 messages를 지정했으..
스프링 MVC 2 - 스프링 메시지 소스 설정
스프링 MVC 2 - 스프링 메시지 소스 설정
2022.08.18스프링 메시지 소스 설정 스프링은 기본적인 메시지 관리 기능을 제공한다. 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 되는데, MessageSource는 인터페이스이다. 따라서 구현체인 ResourceBundleMessageSource를 스프링 빈으로 등록하면 된다. 직접 등록 basenames: 설정 파일의 이름을 지정한다. messages로 지정하면 messages.properties 파일을 읽어서 사용한다. 추가로 국제화 기능을 적용하려면 messages_en.properties, messages_ko.properties와 같이 파일명 마지막에 언어 정보를 주면된다. 만약 찾을 수 있는 국제화 파일이 없으면 messages.properties(언..
스프링 MVC 2 - 메시지, 국제화 소개
스프링 MVC 2 - 메시지, 국제화 소개
2022.08.18메시지, 국제화 소개 메시지 기획자가 화면에 보이는 문구가 마음에 들지 않는다고, 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까? 여러 화면에 보이는 상품명, 가격, 수량 등, label에 있는 단어를 변경하려면 다음 화면들을 다 찾아가면서 모두 변경해야 한다. 지금처럼 화면 수가 적으면 문제가 되지 않지만 화면이 수십개 이상이라면 수십개의 파일을 모두 고쳐야 한다. addForm.html, editForm.html, item.html, items.html 왜냐하면 해당 HTML 파일에 메시지가 하드코딩 되어 있기 때문이다. 이런 다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다. 예를 들어서 messages.properties라는 메시지 관리용 파일을 만들고..
스프링 MVC 2 - 프로젝트 설정 (메시지, 국제화)
스프링 MVC 2 - 프로젝트 설정 (메시지, 국제화)
2022.08.18프로젝트 설정 (메시지, 국제화) 이전 프로젝트에 이어서 메시지, 국제화 기능을 학습해보자. 스프링 통합과 폼에서 개발한 상품 관리 프로젝트를 일부 수정해서 message-start라는 프로젝트에 넣어두었다. 참고로 메시지, 국제화 예제에 집중하기 위해서 복잡한 체크, 셀렉트 박스 관리 기능은 제거했다. 프로젝트 설정 순서 message-start의 폴더 이름을 message로 변경하자. 프로젝트 임포트 File → Open → 해당 프로젝트의 build.gradle을 선택하자. 그 다음에 선택창이 뜨는데, Open as Project를 선택하자. ItemServiceApplication.main()을 실행해서 프로젝트가 정상 수행되는지 확인하자. 실행 http://localhost:8080/ http:..