여러 인터넷 사이트를 보면 영어나 일본어로 언어를 변환해서 표시해주는 화면들이 있다.
이러한 기능들은 어떻게 구현할까?
JSP에서 다국어 태그 라이브러리를 사용하면 다국어 기능을 쉽게 구현할 수 있다.
다국어 태그 라이브러리 종류
분류 | 태그 | 설명 |
다국어 | <fmt:setLocale> | Locale(언어)을 지정한다. |
<fmt:message> | 지정한 언어에 해당하는 언어를 표시한다. | |
<fmt:setBundle> | 사용할 번들을 지정한다. | |
<fmt:setParam> | 전달할 매개변수를 지정한다. | |
<fmt:requestEncoding> | 요청 매개변수의 문자 인코딩을 지정한다. |
우선 다국어 기능을 사용하려면 미리 한글을 아스키 코드로 변환한 형태로 저장하고 있다가 요청 시 아스키 코드를 다시 한글로 변환해서 표시한다. 따라서 표시할 한글을 아스키 코드가 변환하는 방버부터 알아보자.
1. Properties Editor 설치하기
1) 이클립스 상단 메뉴에서 Help > Install New Software를 선택
2) Add.. 클릭후 Name은 Properties Editor, Location은 http://propedit.sourceforge.jp/eclipse/updates 로 입력하고 Add를 클릭
3) PropertiesEditor 선택 후 Next
4) Install Details 화면이 나타나면 Next를 클릭
5) 라이선스 정책에 동의한 후 Finish를 클릭
6) 설치 후 이클립스를 재실행할 지 묻는 창이 나타나면 Restart Now를 클릭
2. 한글 아스키 파일 만들기
1) 프로젝트의 src 폴더에 resource 패키지를 생성 -> 마우스 우클릭 -> New -> Other... 선택
2) General 항목의 File 선택 후 Next 클릭
3) 파일 이름으로 member.properties를 입력한 후 Finish 클릭
4) member.properties 파일을 열어 키/값 쌍으로 회원 정보를 한글로 작성한 후 저장
mem.name = 홍길동
mem.address = 서울시 강남구
mem.job = 회계사
5) 작성한 회원 정보 전체를 마우스로 드래그한 후 오른쪽 버튼을 클릭해 Unicode표시를 선택
6) 창에 표시된 아스키 코드 전체를 마우스로 드래그한 후 ctrl+c를 눌러 복사
7) member_ko.properties 파일을 만들어 붙여 넣은 후 저장
8) member_en.properties 파일을 만들어 동일한 key에 대한 회원 정보를 영어로 따로 입력
3. JSP 페이지에 다국어 표시하기
WebContent폴더에 message.jsp파일을 만든다
<fmt:setLocale>태그를 이용해 표시할 locale(언어)를 지정한후 <fmt:bundle>태그를 이용해 resource 패키지의 프로퍼티 파일을 읽어온다. 그리고 <fmt:message> 태그를 이용해 프로퍼티 파일의 키에 대한 값을 각각 출력한다.
message.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
isELIgnored="false" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL 다국어 기능</title>
</head>
<body>
<fmt:setLocale value="en_US" />
<fmt:setLocale value="ko_KR" />
<h1>
회원정보<br><br>
<fmt:bundle basename="resource.member" >
이름:<fmt:message key="mem.name" /><br>
주소:<fmt:message key="mem.address" /><br>
직업:<fmt:message key="mem.job" />
</fmt:bundle>
</h1>
</body>
</html>
jsp파일에서 한글 locale을 주석 처리하고 영어 locale을 활성화한다.
다시 브라우저에 요청하면 다음과 같이 영어로 회원 정보를 출력한다.
참고 : ⌜자바 웹을 다루는 기술⌟ 책을 공부하며 요약・정리한 내용입니다.
'💻 Web_Back end > JSP' 카테고리의 다른 글
JSP에서 파일 업로드와 다운로드 (1) | 2023.05.05 |
---|---|
[JSTL] 포매팅 태그 라이브러리와 문자열 처리 함수 사용하기 (1) | 2023.05.05 |
[JSTL] JSP 표준 태그 라이브러리 (0) | 2023.05.03 |
표현언어 내장객체 (requesetScope, pageContext, Collection, HashMap, has-a) (0) | 2023.05.02 |
자바 코드를 없애는 액션태그 (0) | 2023.05.01 |