spring MVC以外部化区分区域的文本信息

spring MVC之外部化区分区域的文本信息

spring MVC之外部化区分区域的文本信息

----------

 

外部化区分区域的文本信息

 

在开发国际化的web应用程序时,必须以用户首选的区域语言显示web页面。你不想因为区域不同,而为同一个页面创建不同的版本。

为了避免针对不同区域而创建不同语言版本的页面,应该将区分区域的文本信息提取出来,让web页面独立于该区域。Spring能通过消息源(message source)替你解析文本信息,它必须实现MessageSource接口。然后JSP文件可以使用在Spring标签库中定义的<spring:message>标签,来解析指定的文本信息。

只要在web应用程序上下文中注册一个类型为MessageSource的Bean,就可以定义一个消息源。必须将消息源的Bean名称设置为messageSource,这样DispatcherServlet才能自动侦测到它。请注意,每个DispatcherServlet只能注册一个消息源。

ResourceBundleMessageSource为不同的区域解析来自不同资源文件的文本信息。例如,可以在court-servlet.xml

(前面blog的例子)中注册它,用来加载名称为messages的资源文件。

<bean id="messageSource" 
	class="org.springframework.context.support.ResourceBundleMessageSource">
	<property name="basename" value="messages"/>
</bean> 

然后创建两个资源文件----messges.properties和messages_de.properties,保存默认区域和德语区域的文本信息。

这些资源文件应该放在classpath的根部。