Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500892
  • 博文数量: 1496
  • 博客积分: 79800
  • 博客等级: 大将
  • 技术积分: 9940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:22
文章分类

全部博文(1496)

文章存档

2011年(1)

2008年(1495)

我的朋友

分类:

2008-09-09 13:32:00


  struts是一个MVC框架,像和其他框架一样,struts可以轻松实现国际化;于是根据网上的资料,做了一个尝试,因为第一次做多语言程序,还是拐了很多弯路;但所幸,经过不断的尝试,终于成功的实现多语言版本的简单页面; 因为程序非常简单,所以在整个尝试过程中,全部使用手工编码,没有使用任何辅助工具;
  
  1、 建立
  我使用Tomcat4作为测试环境,建立过程(略);
  
  2、 struts
  可以到,后解压,把其中的.war文件拷贝到Tomcat的webapps目录下,启动Tomcat,如果 运行没有问题,说明环境建立成功;这些.war文件在Tomcat启动后会自动展开成文件,里面有源代码,可以作为源码研究;
  
  3、 建立工程
  在webapps目录下建立一个international文件夹,再在international目录下建立WEB-INF文件夹和WEB-INF/classes文件夹,这些都是一个JSP工程必须的;
  
  4、 加了struts的类
  在WEB-INF目录下建立一个lib子目录,把struts-example\WEB-INF\lib目录下将所有.jar文件拷贝到该目录下;这些文件是struts的控制类库和标签类库等;
  commons-beanutils.jar
  commons-collections.jar
  commons-digester.jar
  commons-fileupload.jar
  commons-lang.jar
  commons-logging.jar
  commons-validator.jar
  jakarta-oro.jar
  struts.jar
  
  5、 加入struts标签定义文件
  从struts-example\WEB-INF目录下,把.TLD文件拷贝到international的WEB-INF目录下,这些文件标签库的定义文件;
  struts-bean.tld
  struts-html.tld
  struts-logic.tld
  struts-nested.tld
  struts-template.tld
  struts-tiles.tld
  
  6、 建立struts的config文件
  建立struts的config文件的struts-config.xml,内容如下:
  
  
  
    "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "";>
  
  
  
  
  
  

  
  message-resources标签是指message资源的文件,就是我们存放我们的多种语言的提示信息的文件,resources.application表是classes目录下的resources目录用来存放资源文件,默认语言文件名为application.properties,中文为application_zh_CN.properties,其他语言类似;
  
  7、 建立web.xml文件
  
  
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "";>
  
  
  test international
  
  
  action
  org.apache.struts.action.ActionServlet
  
  config
  /WEB-INF/struts-config.xml
  

  
  debug
  2
  

  
  detail
  2
  

  2
  

  
  
  action
  *.do
  

  
  
  index.jsp
  

  
  
  /tags/struts-bean
  /WEB-INF/struts-bean.tld
  

  
  
  /tags/struts-html
  /WEB-INF/struts-html.tld
  

  
  
  /tags/struts-logic
  /WEB-INF/struts-logic.tld
  

  
  
  /tags/struts-nested
  /WEB-INF/struts-nested.tld
  

  
  
  /tags/struts-tiles
  /WEB-INF/struts-tiles.tld
  

  
  

  上面的web.xml定义了struts的控制类、config文件和标签,因为比较简单,所以不做解释;
  
  8、 建立资源文件
  在classes目录下,建立一个resources目录,用来存放资源文件; 先建立默认的资源文件application.properties和英文(美国)的资源文件application_en_US.properties,内容为:
  
  # -- international test --
  test.title=international application test
  test.body=This is a international application test
  
  先建立这两个文件,中文的等下一步建立
  
  9、建立jsp文件
  在international目录下,建立index.jsp文件,内容为:
  
  <%@ page contentType="text/html;charset=UTF-8" %>
  <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
  <%@ taglib uri="/tags/struts-html" prefix="html" %>
  <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
  
  
  <bean:message key="test.title"/>
  
  
  
  
  


  
  
  

  
  在这里表示使用浏览器默认的地区和语言;的意思是取对应资源文件里的test.title项目的内容; 启动Tomcat,在浏览器里输入查看效果,如果浏览器标题显示international application test,页面里显示This is a international application test则说明你的程序成功了;下面只要增加资源文件,你就可以在多种语言的系统里看了;
  
  10、 建立简体中文的资源文件
  在resources目录下建立一个application_cn.properties,输入内容:
  
  # -- international test --
  test.title=国际化程序测试
  test.body=这是一个国际化程序测试例子
  
  因为java的国际化是通过unicode码来实现,所以要把代码转为unicode码;在Dos下,转到resources目录,执行:
  native2ascii application_cn.properties application_zh_CN.properties
  转换后的application_zh_CN.properties文件内容为:
  
  # -- international test --
  test.title=\u56fd\u9645\u5316\u7a0b\u5e8f\u6d4b\u8bd5
  test.body=\u8fd9\u662f\u4e00\u4e2a\u56fd\u9645\u5316\u7a0b\u5e8f\u6d4b\u8bd5\u4f8b\u5b50
  
  这就是上面的中文的unicode码; 重新启动Tomcat, 在浏览器里输入你看,标题和内容是不是变成中文了;
  
  11、 建立繁体中文的资源文件
  在resources目录下建立一个application_tw.properties,输入内容:
  
  # -- international test --
  test.title=???H化程式?y??
  test.body=?@是一?????H化程式?y??例子
  
  因为java的国际化是通过unicode码来实现,所以要把代码转为unicode码;在Dos下,转到resources目录,执行:
  native2ascii application_tw.properties application_zh_TW.properties
  转换后的application_zh_TW.properties文件内容为:
  
  # -- international test --
  test.title=\u570b\u969b\u5316\u7a0b\u5f0f\u6e2c\u8a66
  test.body=\u9019\u662f\u4e00\u500b\u570b\u969b\u5316\u7a0b\u5f0f\u6e2c\u8a66\u4f8b\u5b50
  
  这就是上面的繁体中文的unicode码;
  
  12、 测试多语言
  打开IE的“工具”->“Internet选项”菜单,“常规”选项卡,点击其中的“语言”按钮,添加“英语(美国)-[en-us]”语
【责编:admin】

--------------------next---------------------

阅读(31) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~