note

Spring 국제화 본문

JSP/Spring

Spring 국제화

투한 2012. 2. 29. 12:30







message/error.properties
login.fail=Member ID {0} is not matching password


message/greeting_en.properties
greeting=Hello!


message/greeting_ko.properties 
greeting=안녕하세요!


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

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<!-- 국제화 처리를 위한 리소스 번들지정 -->
	<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basenames">
			<list>
				<value>message.greeting</value>
				<value>message.error</value>
			</list>
		</property>
	</bean>
</beans>


Main.java
package madvirus.spring.chap03;

import java.util.Locale;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {
	public static void main(String[] args) {
		String[] configLocations = new String[] { "applicationContext.xml" };
		ApplicationContext context = new ClassPathXmlApplicationContext(
				configLocations);
		
		Locale locale = Locale.getDefault();
		String greeting = context.getMessage("greeting",new Object[0],locale);
		
		System.out.println("Default Locale greeting: "+greeting);
	}
}





Locale 강제 설정




 



Main02.java
package madvirus.spring.chap03;

import java.util.Locale;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main02 {
	public static void main(String[] args) {
		String[] configLocations = new String[] { "applicationContext.xml" };
		ApplicationContext context = new ClassPathXmlApplicationContext(
				configLocations);
		
		Locale locale = Locale.ENGLISH;
		String greeting = context.getMessage("greeting",new Object[0],locale);
		
		System.out.println("Default Locale greeting: "+greeting);
	}
}