资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Click To Edit Master Title StyleClick to Edit Master Subtitle Style第三章-国际化2/ 2上章回顾详细的介绍了Struts2处理结果的走向详细的介绍了Struts2的模型驱动详细的展示了Struts2的异常处理配置简单介绍了如何提高Struts2性能3/ 3教学目标n 知道什么是软件国际化n 知道Struts2如何对国际化支持n 数量掌握Struts2如何动态访问国际化资源文件n 了解Eclipse编写资源文件的插件 4/ 4正式课程标题1软件的国际化2 Struts2的国际化支持n配置资源文件nStruts2国际化应用n使用占位符n包范围资源文件nAction范围资源文件n临时资源文件n加载资源文件的顺序3动态访问国际化资源文件4 Eclipse编写资源文件的插件5/ 5三.国际化互联网的出现,给整个世界范围内的交流便快捷的方式。而一个软件或者系统要让全世界用户都能接收和使用成了广大软件公司梦寐以求的事情。由于世界各国和地区使用的语言和其他表达形式的不同,制约了一个单一语种界面的软件的应用,所以,软件的国际化已经成了开发技术中重要的一个部分。6/ 6三.国际化 3.1 软件的国际化3.2 Struts2的国际化支持3.3 动态访问国际化资源文件3.4 Eclipse编写资源文件的插件7/ 73.1 软件的国际化国际化英文单词为Internationalization,该单词比较长,不方便记录,由于在I和n之间有18个字母,所以也称为I18n,这样使用起来比较简短方便。国际化软件是指软件能够运行于不同的区域和语言环境中,根据用户所处的区域和语言来修饰软件界面和显示信息,使用户能够用熟悉的界面环境来使用该软件。本地化英文单词为Localization,可以简短标记为L10N,是软件国际化的进一步深入,就是调整软件以适应于特定区域和语言环境的一个过程。随着Web技术的发展,越来越多的应用采用了B/S网站,用户使用浏览器来完成工作,这种应用一般提供了自动国际化功能。8/ 83.2 Struts2的国际化支持Struts2的国际化是建立在Java国际化的基础之上的,是使用资源包的方式,通过getBundle()方法来寻找指定Locale相关联的资源包,再从资源包文件中查找指定Key所对应的国际化资源信息。Struts2框架的底层国际化与Java国际化是一致的,作为一个良好的MVC框架,Struts2将Java的国际化功能进行了封装和简化,开发者使用起来会更加简单快捷。9/ 93.2 Struts2的国际化支持1 配置资源文件2 Struts2国际化应用3 使用占位符4 包范围资源文件5 Action范围资源文件6 临时资源文件7 加载资源文件的顺序10/ 101 配置资源文件Struts2强调的是各个组件之间的松散耦合,而各个组件之间都是通过配置文件来实现相互关联和交互的。Struts2框架的国际化也是如此。Struts2框架提供了多种加载国际化资源文件的方式,其中最常用的就是通过加载资源文件的方式来实现国际化。Struts2框架加载资源文件一般都是通过常量设置来完成的。Struts2框架的默认配置文件struts-deault.xml中已经定义了国际化拦截器。国际化拦截器在Action执行处理之前执行,该拦截器掌管着当前用户请求Session中的Locale相关数据。该拦截器会在用户参数中查找一个特殊的参数值,使用该参数来设置当前的Locale信息,这就意味着开发者可以动态地修改当前Session中的Locale值,这在开发国际化应用中非常有意思,开发者可以在处理用户请求过程中任何一个节点来改变Locale值,这样就能够动态改变程序的语言和区域的相关信息,实现完善的国际化功能。11/ 111 配置资源文件如果开发者需要在项目应用中提供国际化功能,则需要指定struts.custom.i18n.resources常量值。 配置struts.custom.i18n.resources常量可以在属性文件struts.properties中定义,也可以在配置文件struts.xml或者web.xml文件中定义。配置好Struts2框架的国际化资源文件的basename后,开发者可以按照basename_language_country.properties的命名规则来建立不同语言的资源文件,当然,如果是非西欧字符集,则需要使用native2ascii转换工具转换为Unicode编码即可。12/ 122 Struts2国际化应用建立英文资源文件globalMessages_en_US.propertiesuserName=userNamepassword=passwordhelloWorld=helloWord 0commit=commit13/ 132 Struts2国际化应用建立中文资源文件globalMessages_zh_CN.propertiesuserName=u7528u6237u540Dpassword=u5BC6u7801helloWorld=u4F60u597D 0commit=u63D0u4EA4该文件使用前,必须使用native2ascii转换工具转换。native2ascii my.txt globalMessages_zh_CN.properties14/ 142 Struts2国际化应用建立输入界面reg.jsp 注册页面 中国 15/ 152 Struts2国际化应用注册成功页面success.jsp 成功页面 16/ 162 Struts2国际化应用package action;import com.opensymphony.xwork2.ActionSupport;public class Reg extends ActionSupport private static final long serialVersionUID = 1L;private String userName;private String password;Overridepublic String execute() throws Exception System.out.println(!);System.out.println(getText(helloWorld,new StringuserName);return result1;17/ 172 Struts2国际化应用public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;public String getPassword() return password;public void setPassword(String password) this.password = password;Struts2提供了一个getText()方法,该方法根据资源文件中的key值来返回一个国际化资源信息,如果找不到则为null。18/ 182 Struts2国际化应用 success.jsp19/ 193 使用占位符在JSP视图中输出支持占位符的国际化资源信息需要使用标签库,可以在标签中定义多个子元素,来分别对应标签中应用的国际化资源中的占位符。例如,有一个占位符0,则需要定义一个子元素,在显示给用户的界面中, 子元素的数值将填充到0;如果有两个占位符0,1,则需要定义两个子元素,如果只定义一个,那么输出时1将直接输出到用户视图。在Action中使用国际化资源占位符,同前面示例一样,仍然使用getText()方法。 getText(String aTextName,List args) getText(String aTextName,String args)方法用于填充占位符20/ 203.3 动态访问国际化资源文件通过编写国际化示例会发现,如果想在视图中更换国际化语言信息,则需要修改操作系统中“语言与区域选项”中的相关配置。Struts2可以不用修改操作系统相关配置,就可以切换所显示的国际化资源。国际化拦截器在执行Action之前,会在用户请求中查找名为request_local的参数,如果该参数存在,拦截器将读取该值,转换为local对象,并将其设置为Action所使用的local。21/ 213.4 Eclipse编写资源文件的插件eclipse有一个插件properties edit,在编写一些简体中文,繁体中文等Unicode编码的文本时,不必使用native2ascii进行编码转换。22/ 22小结介绍了什么是软件国际化详细阐述Struts2如何对国际化支持简单介绍了Struts2如何动态访问国际化资源文件需要了解Eclipse编写资源文件的插件23/ 23课堂作业1.Struts2的国际化支持配置2.动态访问国际化资源文件配置3.Eclipse编写资源文件的插件配置24/ 24课后作业1.编写Struts2的国际化配置文件2.编写动态访问国际化资源文件配置文件3.Eclipse编写资源文件的配置文件
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号