<b>Struts1.x系列教程(13):国际化</b>[Java编程]
本文“<b>Struts1.x系列教程(13):国际化</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关于一个面向环球的Web利用程序,按着差别国家的要求显示相关信息(称为国际化)显得尤为重要.国际化的工作非常复杂和烦琐.因为要翻译很多Web界面,信息格局等.但是,Struts为我们供应了完成国际化工作的更简单的方法.在本文将介绍若何利用Struts来简化国际化的工作.
1、处理客户端界面的编码问题
由于Web浏览器可以利用差别的编码格局来解析客户端代码,这主要取决于用户的默许设置或偏好.由于存在这种情形,因此,在服务端向客户端发送数据时,就必须利用和客户端一致的编码格局.
普通的做法是利用Internet上对比常用的UTF-8编码,这主如果因为UTF-8编码格局所描写的字符包含了世界上全部以知国家和区域的语言编码.这样服务端就不用按照客户端的编码格局不断地调整服务端呼应信息的编码格局了.关于JSP页面来说,可以利用page指定来设置呼应信息的编码格局,以下面代码所示:
<%@pagecontentType="text/html;charset=UTF-8"%>
当然,假如我们在Web程序中利用了Struts框架,还可以在struts-config.xml文件中利用以下的代码来设置编码格局:
<controllercontentType="text/html;charset=UTF-8"/>
假如利用上面的设置,全部通过.do或<forward>元素拜候的页面城市担当这一编码设置.但是假如单独拜候JSP页面,就会绕过Struts的这个设置.
关于静态页面(如HTML)来说,需求利用<meta>元从来设置编码格局,以下面代码所示:
<head>
<metahttp-equiv="content-type"content="text/html;charset=UTF-8">
</head>
除了利用通用的UTF-8编码格局外,也可以从HTTP恳求头字段Accept- Charset中得到客户端的编码格局.然后按照这个编码格局来设置呼应信息的编码格局.但是,固然按照HTML4.0标准,Web浏览器可以设置 Accept-Charset字段,但是有很多浏览器可以会忽视这一字段,因此,只利用这个字段来肯定Web浏览器所利用的编码格局是不坚固的.所以最好的国际化编码格局办理筹划仍旧是UTF-8.
2、本地化属性文件
本地化最重要的部份就是按照用户所处的语言环境来显示呼应语言的界面,如用户在英文操作系统下,就会显示英文界面,假如在中文操作系统下,就会显示中文界面.最抱负的情形是这种显示效果的切换是完好透明的.
在Struts中供应了这种技术,使我们可以更简单地实现透明地界面切换.在Struts Bean标签库中有一个<bean:message>标签,它可以按照客户端浏览器所处的语言环境自动挑选呼应的属性文件来读取界面显示信息.为了演示若何利用<bean:message>以及差别的属性文件来实现国际化的程序.让我们先来看一个例子.
在本例中,选用了三个国家的语言环境(中文、英文和法文)来演示国际化的实现.由于读者大概不便于输入法文,因此,法文信息仍旧用中文替换,只是背面多了个“(法文)”作为标识.我们需求以下四步来完成这个例子:
【第1步】成立一个默许的属性文件
在<samples工程目录>srcstruts目录中成立一个application.properties文件,内容以下:
title=这是一个国际化的web程序(默许值)
name=姓名(默许值)
submit=提交(默许值)
application.properties文件是默许的属性文件,假如客户端浏览器所处的语言环境在服务端未找到呼应的属性文件,<bean:message>标签就会从application.properties文件中读取字符串信息.
在Eclipse中编辑非ISO 8859-1编码格局的字符时,应利用在《属性(资源)文件乱码问题的办理之道》介绍的两个Eclipse插件,或利用native2ascii.exe号令举行转换.不然在显示属性文件中的信息时会呈现乱码.
以上是“<b>Struts1.x系列教程(13):国际化</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |