1. JSTL fmt 태그
▷ 다국어 문서 처리를 위한 국제화 및 지역화 태그
▷ 날짜와 숫자 등을 형식화하는 기능을 제공하는 JSTL 라이브러리인 JSTL fmt 태그는 특정 지역에 따라 다른 메시지를 출력할 때 사용
▶ 한글 웹 브라우저는 한글 메시지를 출력할 때, 영문 웹 브라우저는 영어 메시지를 출력할 때 유용
◎ JSTL fmt 태그 라이브러리 사용 방법
▷ JSTL 라이브러리인 jstl.jar 파일이 필요
▶ 배포 사이트 : https://mvnrepository.com/
▶ 다운로드 파일 : jstl-1.2.jar
◎ JSTL fmt 태그의 종류
◎ 로케일 설정 태그의 기능과 사용법
▷ setLocale 태그
▶ 국제화 태그가 사용할 로케일을 설정하는 태그
▷ requestEncoding 태그 : 요청 파라미터의 문자 인코딩을 설정하는 태그
◎ 메시지 처리 태그의 기능과 사용법
▷ 리소스번들
▶ 메시지 처리 태그에서 사용하는 파일로 메시지 번들이라고도 함
▶ 리소스번들로 사용한느 파일은 보통 WEB-INF/classes/ 폴더에 있음
▶ 리소스번들을 java.util.Properties 클래스에 정의된 방법으로 메시지를 읽어오기 때문에 확장자가 properties인 파일이 반드시 있어야 함
→ java.util.Properties 클래스는 알파벳이나 숫자, 라틴 문자 외의 언어를 유니코드 값으로 표현
▷ 리소스번들로 사용하는 *.properties 파일의 종류
◎ 메시지 처리 태그의 기능과 사용법
▷ bundle 태그
▶ 사용할 리소스번들을 설정하는 태그로 형식
▷ message 태그
▶ bundle 태그에 설정한 리소드번들에서 메시지를 읽어와 출력하는 태그
▷ setBundle 태그
▶ 리소스번들을 가져와 변수로 저장한 후 JSP 페이지 어디에서나 사용할 수 있는 태그
▶ bundle 태그를 대체하여 사용할 수 있음
◎ 사용자 로케일에 따라 리소스번들의 메시지 출력하는 예제
▷ JSTL fmt 태그를 사용하기 위해 jstl-1.2.jar 파일을 다운로드하여 /WebContent/WEB INF/lib/ 폴더에 추가
▷ /src/ 폴더에 다음과 같이 2개의 리소스번들을 작성
1. myBundle.properties
title=\uC790\uBC14 \uC11C\uBC84 \uD398\uC774\uC9C0 username=\uAD00\uB9AC\uC790 password=1234
2. myBundle_en.properties
title= Java Server Pages username=admin password=1234
위의 두 개 properties는 아래와 같이 Java Resources에 경로를 지정해줍니다.
3. jstl_fmt01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Internationalization</title> </head> <body> <fmt:setLocale value="ko"/> <p>----------- 기본 로케일 ---------------- <fmt:setBundle basename="ch09.com.bundle.myBundle" var="resourceBundle" /> <p> 제목 : <fmt:message key="title" bundle="${resourceBundle}" /> <p> <fmt:message key="username" var="userMsg" bundle="${resourceBundle}" /> 이름 : ${userMsg} <p>----------- 영문 로케일 ---------------- <fmt:setLocale value="en" /> <fmt:setBundle basename="ch09.com.bundle.myBundle" var="resourceBundle" /> <p> 제목 : <fmt:message key="title" bundle="${resourceBundle}" /> <p> 이름 : <fmt:message key="username" bundle="${resourceBundle}" /> </body> </html>
처음에 value 값을 한국으로 설정해주지 않으면 둘 다 영어 로케일로 나타납니다.
JSTL fmt 태그는 전세계의 특정 지역에 따라 다른 메시지를 출력할 때 사용합니다!
해당 태그를 사용할 때 별도의 라이브러리 파일이 필요하다는 것 확인해야 오류가 나타나지 않네요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > JSP' 카테고리의 다른 글
[JSP 웹 프로그래밍] 시큐리티 1 (선언적 시큐리티 처리) (0) | 2023.03.07 |
---|---|
[JSP 웹 프로그래밍] 다국어 처리 3 (JSTL fmt 태그 2) (0) | 2023.03.07 |
[JSP 웹 프로그래밍] 다국어 처리 1 (Locale Class) (0) | 2023.03.05 |
[JSP 웹 프로그래밍] 유효성 검사 2 (데이터 형식 유효성 검사) (0) | 2023.03.04 |
[JSP 웹 프로그래밍] 유효성 검사 1 (validation) (0) | 2023.03.03 |