Struts国际化处理 二

原创 2004年10月14日 17:08:00

对于使用者来说,一个支持国际化的WEB程序具有下面几种形式

1. 根据用户浏览器自动设置显示的语言(无需用户干预)
2. 提供用户选择,用户根据自己的需要决定使用何种语言显示
3. 结合前两种.系统自动选择一种语言,但同时提供用户根据需要选择

使用Struts开发国际化程序是一件非常便利的事情,我们来看前两种怎么来实现

1. 这是最简单的方式,你不需要修改任何程序,只需要把资源文件按照各个语言翻译一遍并把这些文件按照国际化程序的要求命名好放置同一个目录即可. 例如 ApplicationResource_en_US.properties ApplicationResource_zh_TW.properties . 这种方式虽然自动的给用户设置好要显示的语言,但是有时候由于浏览器本身的问题,或者用户自己想看其他语种的时候就没有办法.

2. 这是比较常见的方式,由用户自己来选择所要显示的语言. 一般的情况是在首页或者登录页上增加语言的选项,用户选中其中一种登录后即以用户选择的语言进行显示,但是用户登录后必须把用户所选择的语言保存起来并让程序也就是<bean:message这些标签可以使用所选择的语言加载配置信息,因此在用户登录执行的Action类中加入如下代码

Locale locale = new Locale(request.getParameter("locale"));
//TODO:判断locale的有效性,无效的话不存入到sesssion中
req.getSession().setAttribute(Globals.LOCALE_KEY,locale);

好了,现在<bean:message/>这个标签库现在就可以根据你保存在session中的Locale对象来决定加载的是哪种语言, 通过看<bean:message/>标签库的源码我们就可以一目了然知道该标签库在加载资源前先从session或者该Locale对象,如果为空则使用request.getLocale()这个值来加载对应语言的资源,因此这种做法实际上是实现了前面提到的第三种形式. 接下来就是翻译资源文件,有如第一步讲到的.

Struts框架在实现国际化应用程序的时候还是替我们想的很周到,因此你所需要做的就是翻译.

最后切记两点:
1. 页面的字符集必须是UTF-8,例如:
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
2. 另外页面的所有的提示信息都应该在资源文件中定义

struts标签+jstl标签之国际化实例

Struts提供了国际化的功能,对于一个面向各国的系统来说,是非常有帮助的。只需要提供每个国家的语言资源包,配置后即可使用。       下面来用一个登录实例来演示一下Struts的国际化配置和显...
  • xiaoxian8023
  • xiaoxian8023
  • 2013年09月18日 09:34
  • 4122

Struts2 资源配置文件国际化详解

Struts2 资源配置文件国际化 Struts2资源文件的命名规范:basename_language_country.properties Struts2国际化 如果系统同时存在资源...
  • xyw591238
  • xyw591238
  • 2016年07月18日 17:00
  • 1409

struts2-多国语言国际化应用过程

转自:http://blog.sina.com.cn/s/blog_6608320c0100j4n1.html struts2-多国语言国际化应用过程: 1、新建三个.properties,分别为 ...
  • xuanjiewu
  • xuanjiewu
  • 2016年02月04日 23:44
  • 1470

struts国际化实例---登录例子(中英文切换)

struts国际化实例---登录例子(中英文切换) 1、新建一个web工程struts-i18n2,添加struts2支持 2、在index.jsp页面中写一个form表单:(超链接转换中英文时,...
  • ZZ2713634772
  • ZZ2713634772
  • 2017年07月24日 11:15
  • 623

"struts中文问题","struts国际化问题"——终极解决方案

引文--------------------------------------------------------------------------------说实话,你们的方法都做的复杂了,Ja...
  • feng_sundy
  • feng_sundy
  • 2004年10月17日 11:20
  • 19002

四、Struts2之国际化

一、国际化介绍   Struts2国际化的目的和Java国际化一致,对于浏览器支持的语言显示不同的文字,如果浏览器支持中文,则显示中文,如果浏览器支持英文,则显示英文; ...
  • xiazdong
  • xiazdong
  • 2012年01月27日 10:20
  • 7761

Struts对国际化的支持

我们在很多网站中发现,他可以支持多种语言,比如谷歌,百度,还有这段时间学英语常用的italki,youtube等等,都可以由用户自定义该网站的语言,十分便捷,而且,我们要想让自己的软件走向国际化,实现...
  • laner0515
  • laner0515
  • 2013年09月19日 16:11
  • 3937

Struts2标签以及国际化

【参考资料】《java EE技术实验教程》 韩珊珊、王春平编著,清华大学出版社 这里action的有关内容不再赘述。 首先,做一个注册页面,一个注册失败的页面,一个注册成功的页面。注册页面...
  • u013063099
  • u013063099
  • 2017年03月16日 09:14
  • 672

Struts消息国际化及异常处理

1.     I18N问题什么是I18N问题?在英文中, 国际化(Internationalization)被缩写为I18N, 即只取首尾两个字母, 中间字母为18个 问题在哪里?页面字符串硬编码异常...
  • yzbhyx
  • yzbhyx
  • 2006年12月14日 17:37
  • 986

用javascript结合struts2实现国际化的一种比较戳的方法

今天看到国际化的一种实现,比较戳,不过也算一种方法,贴出来记录一下 XXXConstants = {version:"1.0"}; XXXConstants.COMMON_SERVE...
  • kyfxbl
  • kyfxbl
  • 2013年09月24日 10:28
  • 719
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts国际化处理 二
举报原因:
原因补充:

(最多只允许输入30个字)