본문 바로가기

Java

Spring_message Project

[ 2010.5.16 ] Spring_message Project

종종 홈페이지에서 접속되는 클라이언트의 언어별로 페이지의 출력값을 다르게 설정할 필요가 있을 때가 있다. 이를 위한 설정을 Spring에서 해보자.

아래와 같이 패키지를 생성한 후, "Greeting_en.properties" File을 추가한다.

 

Greeting_en.properties

greeting=hello

message=this is english message!

 

이번에는 greeting_ko.properties 파일의 내용을 아래와 같이 입력하여 생성하여 보자.

greeting_ko.properties 라는 파일에 아래와 같이 Unicode 타입으로 내용물이 저장됨.

greeting=\uc548\ub155\ud558\uc138\uc694

message=\uc774\uac83\uc740 \ud55c\uae00 \uba54\uc138\uc9c0\uc785\ub2c8\ub2e4.

 

위의 유니코드(Unicode)부분의 내용은

a.properties

greeting=안녕하세요

message=이것은 한글 메세지입니다.

 

와 같다.

이렇듯 한글 Text를 Unicode로 변경하기 위해서는 우선 한글로 위의 내용을 입력한 후, "a.properties"라는 이름으로 특정 폴더에 저장한다.( 여기서는 C:\에 저장)

 

그리고 이제 CMD 를 열어 아래와 같이 ascii 코드로 변환 명령을 실행하면 "greeting_ko.properties"라는 이름으로 새롭게 파일이 생성되는 것을 확인할 수 있다.

C:\>native2ascii a.properties greeting_ko.properties

 

생성된 파일을 greeting_en.properties와 동일한 패키지로 복사한다.

 

GreetingBean.java

package di.message;

 

import java.util.Locale;

 

import org.springframework.beans.factory.BeanFactory;

import org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.context.support.ResourceBundleMessageSource;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.Resource;

 

package di.message;

 

import java.util.Locale;

 

import org.springframework.beans.factory.BeanFactory;

import org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.context.support.ResourceBundleMessageSource;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.Resource;

 

 

public class GreetingBean {

    //생성한 properties 파일들을 쉽게 처리하기 위한 녀석.

    //org.springframework.context.support.ResourceBundleMessageSource

    ResourceBundleMessageSource rm;

    

    public void setRm(ResourceBundleMessageSource rm){

        this.rm=rm;

    }

    public void printMessage(){

        //java.util.Locale : 지역/언어 코드 정보를 가지고 있는 객체.

        Locale koLocale=Locale.getDefault();

        Locale enLocale=Locale.ENGLISH;

        

        String greeting=rm.getMessage("greeting", null, enLocale);

        String message=rm.getMessage("message", null, koLocale);

        System.out.println("greeting : " + greeting);

        System.out.println("message : "+ message);

        

    }

    public static void main(String[] args) {

        Resource resource=new ClassPathResource("messageContext.xml");

        BeanFactory factory=new XmlBeanFactory(resource);

        GreetingBean gb=(GreetingBean)factory.getBean("greetingBean");

        

        gb.printMessage();

    }

}

 

messageContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:p="http://www.springframework.org/schema/p"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

 

    <bean name="rm" class="org.springframework.context.support.ResourceBundleMessageSource">

        <!-- property File 등록한다. -->

        <property name="basename" value="message.greeting"></property>

    </bean>

    

    <bean name="greetingBean" class="di.message.GreetingBean">

        <property name="rm" ref="rm"/>

    </bean>

 

</beans>

 

결과값 :

greeting : hello

message : 이것은 한글 메세지입니다.

'Java' 카테고리의 다른 글

Spring 중간 점검 실습  (0) 2010.06.15
Spring 초간단 실습  (0) 2010.06.15
Struts 1 설치 및 간단한 실습  (0) 2010.06.14
Filter  (0) 2010.06.13
File Upload API  (0) 2010.06.13
Spring에서 자주 사용되어지는 API 묶음  (0) 2010.06.13
간단한 Spring Project 실습하기  (0) 2010.06.13
Spring 설치 및 이클립스와의 연동  (1) 2010.06.13
Tomcat 설치 및 간단한 환경설정  (0) 2010.04.22
0401 Report Source  (0) 2010.04.01