一概念
IN作为国际化的简称其来源是明文单词internationlization的首末字符i和n之间的字符数为随着全球经济的遗体化为一种主流的趋势软件开发者应该开发出支持多国语言国家化的web应用程序吧也就是一个web应用程序在运行时能够根据客户端请求所来自的国家和语言的不同显示不同的用户界面这样当需要在应用程序中添加对一种新的语言的支持时不需要对已有的软件返工无需修改应用程序的程序代码
二Struts对国家化的支持
在Struts框架中进行应用程序的国际化支持重点在于应用程序的文本和图像表示最重要的工作就是准备Resurce Bundle 资源包事实上准备资源包的过程就是把对应不同语言的用户所涉及的文本和图片保存在多个文本文件中客户端根据不同的环境需要进行更换这些文件被称为属性文件所有属性文件合在一起被称为资源包(Resource Bundle)
Struts建立于Java平台之上很容易建立国际化和本地化的应用程序在这里你要熟悉的关键概念是
) Locale – 基础的支持国际化的java类是javautilLocale每个Locale代表一个特别的国家和语言的选择(加上一个可选的语言变量)以及一套格式假定例如数字和日期等等
) ResourceBundle – javautilResourceBundle类提供支持多种语言消息的基本工具查看文档中关于ResourceBundle类以及你的JDK版本的文档包中关于国际化的更多内容
) PropertyResourceBundle – 一个ResourceBundle类的标准实现允许你使用与初始化properties文件同样的键/值的语法来定义资源这对于使用为用于一个web应用程序的消息准备资源包是非常方便的因为这写消息通常都是面向文本的
) MessageFormat – javatextMessageFormat类允许你使用运行时的指定的参数替换一个消息字符串中的一部分(在这种情况下是一个从一个资源包得到的消息)这在你创建一个句子的场合中是有用的但是词会以不同的语言安照不同的顺序出现消息中的占位符字符串{}用第一个运行时参数替换{}用第二个运行时参数替换以此类推
) MessageResources – Struts的类orgapachestrutsutilMessageResources使你能够将一套资源包视做一个数据库并且允许你为一个特定的Locale(通常是与当前用户相对应)请求一个特定的消息而不是为服务器运行在其中的缺省的Locale请求消息
三示例
我们还在前面的登录实例进行加工
在默认的applicationResourcesproperties文件中添加相应的消息文本
labelusername=username
labelpassword=password
buttonsubmit=submit
buttonreset=reset
[] [] [] []