在很多时候,我们编程的时候就需要将网页进行语言的切换,这时就需要用的国际化技术了。

 

一. 什么是国际化?

根据浏览器的语言设置,自动切换不同的语言来显示。

 

方式一:JSP+资源文件完成国际化。

特点:必须设置浏览器才能显示对应的语言。

步骤:

1. 在src目录下,创建一个资源文件。命名规则:文件名_语言_地区.properties

2. 在jsp页面导入fmt标签库。

<f:setBundle basename="文件名"/>

<f:message key="info" />从资源中获取数据,必须提供key。

 

方式二:Struts+资源文件完成国际化。

可以动态切换语言,来实现国际化(可以不用设置浏览器也能国际化)。

步骤:

1. 在src目录下,创建一个资源文件。命名规则:文件名_语言_地区.properties

2. 在struts.xml中绑定资源文件(系统常量)

<constant name=”struts.custom.i18n.resources”  value=”文件名” />

3. 在jsp页面使用struts<s:text name=key>标签获取资源文件内容。

 

Struts中还可以完成动态语言之间的切换(不需要修改浏览器的语言设置)。

步骤:

1. 定义一个Action,定义两个属性:语言、地区;使用超链接,链接到指定的Action

2. 设置当前用户的语言环境。

//设置当前语言

Locale loc = new Locale(language, local);

 

ActionContext.getContext().setLocale(loc);

 

//设置当前的语言,立即启用。

ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE", loc);

注意:到xwork-core-x.x.x.jar包中找到i18n的拦截器类。