首页 > 程序开发 > 软件开发 > Java >

【开发框架】struts国际化轻松尝试

2006-09-21

1、 建立服务器 我使用Tomcat5.5作为测试环境,建立过程(略); 2、 下载struts 可以到http://jakarta.apache.org/struts/index.html下载. 3、 建立工程 在webapps目录下建立一个international文件夹

1、 建立服务器

我使用Tomcat5.5作为测试环境,建立过程(略);


2、 下载struts

可以到http://jakarta.apache.org/struts/index.html下载.


3、 建立工程

在webapps目录下建立一个international文件夹,再在international目录下建立WEB-INF文件夹和WEB-INF/classes文件夹,这些都是一个JSP工程必须的;


4、 加了struts的类

在WEB-INF目录下建立一个lib子目录,把struts-exampleWEB-INFlib目录下将所有.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-exampleWEB-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,内容如下:

< ?xml version="1.0" encoding="ISO-8859-1" ?>

< !DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

< struts-config>

< message-resources parameter="resources.application"/>

< /struts-config>

message-resources标签是指message资源的文件,就是我们存放我们的多种语言的提示信息的文件,resources.application表是classes目录下的resources目录用来存放资源文件,默认语言文件名为application.properties,中文为application_zh_CN.properties,其他语言类似;


7、 建立web.xml文件

< ?xml version="1.0" encoding="ISO-8859-1"?>

< !DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

< web-app>
< display-name>test< /display-name>

< servlet>
< servlet-name>action< /servlet-name>
< servlet-class>org.apache.struts.action.ActionServlet< /servlet-class>
< init-param>
< param-name>config< /param-name>
< param-value>/WEB-INF/struts-config.xml< /param-value>
< /init-param>
< init-param>
< param-name>debug< /param-name>
< param-value>2< /param-value>
< /init-param>
< init-param>
< param-name>detail< /param-name>
< param-value>2< /param-value>
< /init-param>
< load-on-startup>2< /load-on-startup>
< /servlet>

< servlet-mapping>
< servlet-name>action< /servlet-name>
< url-pattern>*.do< /url-pattern>
< /servlet-mapping>

< welcome-file-list>
< welcome-file>index.jsp< /welcome-file>
< /welcome-file-list>

< taglib>
< taglib-uri>/tags/struts-bean< /taglib-uri>
< taglib-location>/WEB-INF/struts-bean.tld< /taglib-location>
< /taglib>

< taglib>
< taglib-uri>/tags/struts-html< /taglib-uri>
< taglib-location>/WEB-INF/struts-html.tld< /taglib-location>
< /taglib>

< taglib>
< taglib-uri>/tags/struts-logic< /taglib-uri>
< taglib-location>/WEB-INF/struts-logic.tld< /taglib-location>
< /taglib>

< taglib>
< taglib-uri>/tags/struts-nested< /taglib-uri>
< taglib-location>/WEB-INF/struts-nested.tld< /taglib-location>
< /taglib>

< taglib>
< taglib-uri>/tags/struts-tiles< /taglib-uri>
< taglib-location>/WEB-INF/struts-tiles.tld< /taglib-location>
< /taglib>

< /web-app>

8、 建立资源文件

在classes目录下,建立一个resources目录,用来存放资源文件;
先建立默认的资源文件application.properties和英文(美国)的资源文件application_en_US.properties,内容为:

# -- 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" %>
< html:html locale="true">
< head>
< title>< /title>
< html:base/>
< /head>
< body bgcolor="white">

< p>< bean:message key="test.body"/>< /p>

< /body>
< /html:html>

在这里表示使用浏览器默认的地区和语言;< bean:message key="test.title"/>的意思是取对应资源文件里的test.title项目的内容;
启动Tomcat,在浏览器里输入http://localhost:8080/international/,查看效果,如果浏览器标题显示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 -encoding gb2312 application_cn.properties application_zh_CN.properties
转换后的application_zh_CN.properties文件内容为:

# -- international test --
test.title=u56fdu9645u5316u7a0bu5e8fu6d4bu8bd5
test.body=u8fd9u662fu4e00u4e2au56fdu9645u5316u7a0bu5e8fu6d4bu8bd5u4f8bu5b50

这就是上面的中文的unicode码;
重新启动Tomcat, 在浏览器里输入http://localhost:8080/international/,你看,标题和内容是不是变成中文了;

11、 测试多语言
打开IE的“工具”->“Internet选项”菜单,“常规”选项卡,点击其中的“语言”按钮,添加“英语(美国)-[en-us]”语言,将其他的语言删除,重新启动IE后,输入http://localhost:8080/international/index.jsp,你会发现内容已经变成英文.

相关文章
最新文章
热点推荐