struts中 国际化
在很多时候,我们编程的时候就需要将网页进行语言的切换,这时就需要用的国际化技术了。
一. 什么是国际化?
根据浏览器的语言设置,自动切换不同的语言来显示。
方式一: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的拦截器类。 |