[java] JSP에서의 국제화 처리 방법

JSP(Java Server Pages)는 Java 언어를 기반으로 하는 웹 프로그래밍 기술이며, 다국어 지원이 필요한 웹 애플리케이션에서 국제화 처리를 위한 다양한 기능을 제공합니다. 이번 글에서는 JSP에서의 국제화 처리 방법에 대해 알아보겠습니다.

ResourceBundle을 활용한 다국어 처리

JSP에서 다국어 처리를 위해서는 ResourceBundle 클래스를 활용할 수 있습니다. ResourceBundle 클래스는 지정된 위치에 있는 리소스 파일을 로드하여 다국어 메시지를 제공하는 역할을 합니다.

우선, 프로젝트 내에 properties 파일을 생성하여 각각의 다국어에 해당하는 메시지를 정의합니다. 예를 들어, message_en.properties 파일은 영어로 된 메시지를, message_ko.properties 파일은 한국어로 된 메시지를 포함하고 있습니다. 각각의 파일은 다음과 같은 형태로 작성됩니다.

# message_en.properties
welcome_message=Welcome!
# message_ko.properties
welcome_message=환영합니다!

다음으로, JSP 파일에서 ResourceBundle 클래스를 이용하여 해당 properties 파일을 로드하고, 다국어 메시지를 사용할 수 있습니다. 다음은 JSP 파일에서 ResourceBundle을 활용한 예시입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.ResourceBundle" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<%
   // Resource Bundle 로드
   ResourceBundle bundle = ResourceBundle.getBundle("message", new Locale("en")); // 영어로 설정
   
   // 다국어 메시지 사용
   String welcomeMessage = bundle.getString("welcome_message");
%>

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>다국어 처리 예제</title>
   </head>
   <body>
      <h1><fmt:message key="welcome_message"/></h1>
   </body>
</html>

위 예시에서 ResourceBundle 클래스의 getBundle 메서드의 첫 번째 인자로는 properties 파일의 이름을, 두 번째 인자로는 로케일을 전달합니다. getBundle 메서드는 현재 설정된 로케일에 해당하는 properties 파일을 로드하게 됩니다.

또한, 위의 예시에서는 JSTL(JSP Standard Tag Library)을 사용하여 다국어 메시지를 출력하였습니다. <fmt:message> 태그를 사용하면 해당 키에 대응하는 다국어 메시지를 출력할 수 있습니다.

결론

이번 글에서는 JSP에서의 국제화 처리 방법에 대해 알아보았습니다. ResourceBundle 클래스를 활용하여 다국어 메시지를 로드하고 사용하는 방법을 확인했습니다. JSP 기반의 다국어 웹 애플리케이션을 개발할 때는 이러한 국제화 처리 방법을 활용하여 사용자에게 다국어 지원을 제공할 수 있습니다.

참고 자료