用struts框架尝试国际化程序实现

类别:Java 点击:0 评论:0 推荐:
用struts框架尝试国际化程序实现 struts是一个MVC框架,据说struts可以轻松实现国际化;于是根据网上的资料,做了一个尝试,因为第一次做多语言程序,还是拐了很多弯路;但所幸,经过不断的尝试,终于成功的实现多语言版本的简单页面;

因为程序非常简单,所以在整个尝试过程中,全部使用手工编码,没有使用任何辅助工具;

1、 建立服务器

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

2、 下载struts

可以到http://jakarta.apache.org/struts/index.html下载,下载后解压,把其中的.war文件拷贝到Tomcat的webapps目录下,启动Tomcat,如果http://localhost:8080/struts-example/ 运行没有问题,说明环境建立成功;这些.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,内容如下:

<?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 international</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>

上面的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" %> <html:html locale="true"> <head> <title><bean:message key="test.title"/></title> <html:base/> </head> <body bgcolor="white"> <p><bean:message key="test.body"/></p> </body> </html:html>

在这里表示使用浏览器默认的地区和语言;key

本文地址:http://com.8s8s.com/it/it14584.htm