1.下载struts
  可以到http://jakarta.apache.org/struts/index.html下载,下载后解压,把其中的.war文件拷贝到Tomcat的webapps目录下,启动Tomcat,如果http://localhost:8080/struts-example/ 运行没有问题,说明环境建立成功;
2.建立工程
  在webapps目录下建立一个international文件夹,再在international目录下建立WEB-INF文件夹和WEB-INF/classes文件夹;

3. 加了struts的类和struts标签定义文件
  (1)在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
 (2)从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
4.建立struts-config.xml 和web.xml文件
 (1)

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

 ,resources.application表是classes目录下的resources目录用来存放资源文件,默认语言文件名为application.properties,中文为application_zh_CN.properties,其他语言类似;

(2)

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

5.建立资源文件

  (1)在classes目录下,建立一个resources目录,用来存放资源文件;

  先建立默认的资源文件application.properties和英文(美国)的资源文件application_en_US.properties,内容为:

# -- international test --
test.title=international application test
test.body=This is a international application test

(2) 在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

(3)在resources目录下建立一个application_tw.properties,并执行类似操作
6.建立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>

7.测试多语言

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

转载于:https://www.cnblogs.com/superch0054/archive/2006/06/19/4010206.html

国际化的Struts的开发步骤简介相关推荐

  1. 韦东山嵌入式第一期学习笔记DAY_3——7_1_裸机开发步骤简介

    作者:GWD 时间:2019.7.4 一.课程内容: 1.问:windows.linux与arm(linux)建立工程的区别? 答: 2.问:ubuntu环境下编译一个C文件的过程? 答: 1).建立 ...

  2. T100接口开发步骤简介

    T100 WebService Server端开发: 开发流程:1.服务注册:2.服务程序签出:3.服务程序撰写:4.服务程序上传 1.azzi700注册服务规格编号,然后签出就可以写程序了 2.宣告 ...

  3. (Spring程序开发)简介程序开发步骤配置文件相关API

    1Spring简介 1.1 Spring是什么 Spring是分层的Java SE/EE应用full-stack 轻量级开源框架, 以IoC(Inverse Of Control:反转控制) 和**A ...

  4. 使用 Struts 2 开发 RESTful 服务

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/ REST 简介 REST 是英文 Representational S ...

  5. react项目开发步骤_成为专业React开发人员的31个步骤

    react项目开发步骤 我为达到可雇用水平而进行的每个项目和课程. (Every single project and course I took to reach a hireable level. ...

  6. 构建物联网网络的4个关键步骤简介

    在首次构建物联网网络时经常犯的最大错误是低估了物联网网络设计,运营和管理的复杂性 - 并且相信传统网络技术和参与模型将支持大规模物联网部署的要求. 建立物联网网络并不像听起来那么容易,而且当面对大规模 ...

  7. 虚拟字符设备驱动开发步骤

    目录 前言 字符设备驱动简介 内核驱动操作函数集合(file_operations结构体) 字符设备驱动开发步骤 .ko驱动模块的加载和卸载(module_init驱动入口.insmod驱动加载) 字 ...

  8. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作

    JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...

  9. matlab有限元分析与应用_专栏 | UEL用户子程序开发步骤—有限元理论基础及Abaqus内部实现方式研究系列20...

    作者介绍 snowwave02 博士,高级工程师 snowwave02团队:设计仿真领域的软件开发团队,由软件.机械.物理等专业人员组成,10年以上CAD/CAE软件开发经验,精通Abaqus二次开发 ...

最新文章

  1. Python操作Firefox
  2. Tomcat7 配置 ssl
  3. Myeclipse的破解步骤
  4. 两不同网段主机直连通信过程的建立(3个实验详细分析)
  5. python 图片地址_python解码data:image开头的图片地址
  6. find border vertex
  7. VS2010 C# 调用Web Service
  8. 博客整理002-KICAD生成gerber板厂打不开的原因
  9. 基于Web的svg编辑器(2)——层次结构设计(DOM结构)
  10. 计算机辅助制造camppt,CADCAM课件计算机辅助制造 (2).ppt
  11. 计算机编号、硬盘序列号和Mac地址查询方法
  12. 使用 Microsoft Teams 开会到底有多少途径——参会
  13. 服务器IP被封的原因
  14. Python基础知识点回顾
  15. Java操作MongoDB数据库(简明版)
  16. MySQL数据库的存储引擎
  17. Camera.cullingMask 常用操作
  18. 天正建筑中如何将标注单位M改为mm
  19. Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;
  20. 在线CAD图纸批注功能方案比较与实现

热门文章

  1. 网易有道将为微信用户提供免费外语微信翻译服务
  2. 利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
  3. 母校/母语/母公司怎么说?
  4. SVNserver搭建和使用(二)
  5. Bootstrap css3
  6. [科普]MinGW vs MinGW-W64及其它
  7. mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等...
  8. mybatis配置文件解析错误解决方法
  9. 前台特效(9)无限极分类折叠菜单
  10. 安装DNN时可能出现的错误