标签:项目 work 配置文件 适合 value 配置 存在 page 问题
所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言。假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以规范化命名的方式保存在特定的目录中,由系统自动根据客户端语言选择适合的资源文件。
<
bean
id
=
"localeResolver"
class
=
"org.springframework.web.servlet.i18n.SessionLocaleResolver"
/>
<!-- 国际化资源文件 -->
<
bean
id
=
"messageSource"
class
=
"org.springframework.context.support.ReloadableResourceBundleMessageSource"
>
<
property
name
=
"basename"
value
=
"classpath:messages"
/>
</
bean
>
<
mvc:interceptors
>
<
bean
id
=
"localeChangeInterceptor"
class
=
"org.springframework.web.servlet.i18n.LocaleChangeInterceptor"
>
<
property
name
=
"paramName"
value
=
"lang"
/>
</
bean
>
</
mvc:interceptors
>
解释:
SessionLocaleResolver类通过一个预定义会话名将区域化信息存储在会话中
“messageSource”配置的是国际化资源文件的径,”classpath:messages”指的是classpath路径下的messages_zh_CN.properties文件和messages_en_US.properties文件
最后配置的是一个拦截器,该拦截器通过名为”lang”的参数来拦截HTTP请求,使其重新设置页面的区域化信息
3在java代码的目录下创建国际化资源文件:
1
2
3
4
|
language.cn = \u4e2d\u6587
language.en = \u82f1\u6587
internationalisation = \u56fd\u9645\u5316
welcome = \u6b22\u8fce\u8bbf\u95ee\u201c\u007a\u0069\u0066\u0061\u006e\u0067\u0073\u006b\u0079\u7684\u4e2a\u4eba\u535a\u5ba2\
u201d\uff0c\u0055\u0052\u004c\uff1a\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u007a\u0069\u0066\u0061\u006e\u0067\u0073\u006b\u0079\u002e\u0063\u006e
|
messages_en_US.properties文件:
1
2
3
4
|
language.cn = Chinese
language.en = English
internationalisation = \u0020Internationalisation
welcome = Welcome to visit "zifangsky‘s personal blog",URL\uff1ahttp://www.zifangsky.cn
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="mvc" uri="http://www.springframework.org/tags/form" %>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<
html
>
<
head
>
<
title
>
</
title
>
</
head
>
<
body
>
Language: <
a
href
=
"?lang=zh_CN"
><
spring:message
code
=
"language.cn"
/></
a
> - <
a
href
=
"?lang=en_US"
><
spring:message
code
=
"language.en"
/></
a
>
<
h2
>
<
spring:message
code
=
"welcome"
/>
</
h2
>
Locale: ${pageContext.response.locale }
</
body
>
</
html
>
标签:项目 work 配置文件 适合 value 配置 存在 page 问题
原文地址:http://www.cnblogs.com/rzqz/p/7072503.html