JSP
다국어 처리
dkstla
2021. 5. 20. 21:03
다국어 처리
- 웹 브라우저를 사용하는 국가에 따라 다양한 언어 및 지역을 지원하는 서비스
- JSTL fmt 태그를 이용하면 언어별로 페이지를 따로 만들 필요 없이 아주 간단하게 다국어를 지원 가능
로케일 감지
- 웹 브라우저에 설정된 국가와 언어 이름을 알아내는 것
ex)
<%@ page contentType="text/html; charset=utf-8"%>
<%@page import="java.text.NumberFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page import="java.util.*"%>
<html>
<head>
<title>Internationalization</title>
</head>
<body>
<h3>현재 로케일의 국가, 날짜, 통화</h3>
<%
Locale locale = request.getLocale(); // Locale 클래스 이용 웹 브라우저에 미리 정의된 로케일을 가져옴
Date currentDate = new Date();
DateFormat dateFormat =
DateFormat.getDateInstance(DateFormat.FULL, locale);
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
%>
<p> 국가 : <%= locale %>
<p> 날짜 : <%= dateFormat.format(currentDate) %>
<p> 숫자 (12345.67) : <%= numberFormat.format(12345.67) %>
</body>
</html>
JSTL fmt 태그 이용
src 폴더에 리소스번들을 작성해야됨
ex)
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <!-- JSTL fmt 태그 라이브러리를 사용하도록 디렉티브 태그 작성 -->
<html>
<head>
<title>Internationalization</title>
</head>
<body>
<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>
쉽게 배우는 JSP 웹 프로그래밍
송미영 지음 한빛 아카데미