Spring4 - ApplicationContextによる国際化サンプル
1.定義 beanMessage.xml
<?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- ApplicationContext生成時に、Springは自動的にidがmessageSourceのBeanを探す --> <property name="basenames"> <list> <!-- リソースファイルを複数指定 --> <value>message</value> </list> </property> </bean> </beans>
2.リソースファイル:message_ja_JP.properties
hello=\u3053\u3093\u306B\u3061\u306F now=\u73FE\u5728\u306E\u6642\u523B\u306F:{0}
3.テストクラス
package app; import java.util.Date; import java.util.Locale; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestDI { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beanMessage.xml"); String hello = context.getMessage("hello", new String[]{}, Locale.getDefault(Locale.Category.FORMAT)); String now = context.getMessage("now", new Object[]{new Date()}, Locale.getDefault(Locale.Category.FORMAT)); System.out.println(hello); System.out.println(now); } }
こんにちは 現在の時刻は:16/06/20 23:17