快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用Struts开发国际化程序思路

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

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

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

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

2. 这是比较常见的方法,由用户自己来选择所要显示的语言. 一般的情况是在首页或者登录页上增加语言的选项,用户选中其中一种登录后即以用户选择的语言进行显示,但是用户登录后必须把用户所选择的语言保存起来并让程序也就是
Locale locale = new Locale(request.getParameter("locale"));
//TODO:判定locale的有效性,无效的话不存入到sesssion中
req.getSession().setAttribute(Globals.LOCALE_KEY,locale);

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

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

最后切记两点:
1. 页面的字符集必须是UTF-8,例如:

2. 另外页面的所有的提示信息都应该在资源文件中定义

这两条都是基本要求,这里只是提醒一下:)






返回类别: 教程
上一教程: Java Learn Steps
下一教程: JUnit和单元测试入门简介

您可以阅读与"用Struts开发国际化程序思路"相关的教程:
· Struts国际化问题解决
· 在struts中使用国际化(i18n)
· 使用JBuilder开发J2ME程序
· eclipse 下用cdt插件开发c c++程序
· java程序员:开发系统要注重的基本知识
    微笑服务 优质保证 索取样品