- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 Struts高级特性 本章导航 本章仍然围绕管理员登录案例,将进一步深入介绍Struts的一些高级特性,通过本章的学习,将帮您解决如下几个问题: ? 什么是国际化? ? 如何对Struts应用进行国际化? ? Struts中如何进行异常处理? ? 如何使用动态ActionForm? ? 如何应用Validator验证框架对界面中输入数据进行校验? 本章目标 通过本章的学习,读者应该能够完成如下几个目标: ? 掌握Struts的国际化与异常处理; ? 学会使用动态ActionForm; ? 会用Validator验证框架对ActionForm进行输入校验。 本章内容 7.1 Struts国际化与异常处理 7.1.1 Struts国际化 所谓的国际化即我们通常所说的i18n(internationalization),是指程序能够在不修改内部代码的前提下,根据不同的语言及地区显示相应的界面。Struts是一种支持国际化的框架,使用Struts开发国际化程序是一件很便利的事情。 1.为什么需要国际化 ? 国际化是商业系统中不可或缺的一部分,目前很多跨国的商务需求都需要实现多语言,对用户而言他们始终想看到用他们熟悉的语言显示的网站,因此这势必要求开发网站所采用的技术具有国际化的特点。若采用普通的编程方式实现国际化可能需要花费大量的时间和精力,而采用Struts则可以极大地简化程序员在做国际化时所需的工作。 Struts允许将不同语言的文字写在多个资源文件中,每个资源对应一种语言,在JSP页面上通过Struts标签bean:message从资源文件中分别获取不同区域特征的文本,并显示在页面上,以此实现国际化的目的。 2.认识Struts国际化组件 要实现国际化,首先应该有存放各种版本语言编写的消息的地方。实际上,这些信息就被存储在多个文本文件中,每个文件对应着一种不同语言的版本。这些文件被称做资源文件,所有资源文件合在一起被称为资源包(Resource Bundle)。 资源文件必须以.properties结尾,文件名前缀可以任意命名,习惯上命名方式有以下两种: ? 文件名前缀.properties。 文件名前缀_语言种类.properties。 其中,语言种类字段必须是有效的ISO(International Standardization Organization,国际标准化组织)语言代码,ISO-639标准定义的这些代码格式为英文小写、双字符,如表7-1所示。 表7-1? ISO-639标准常用语言代码 下面是一个资源包的代码,其中包含两个资源文件:用于创建英语界面的Application_ perties文件和用于创建中文界面的Application_perties文件,这两个资源文件代码如下。 Application_perties: ?# English ResourceMessage ? login.jsp.title=login ? login.jsp.page.heading=h2login/h2 ? success.jsp.title=login success ? success.jsp.page.heading=h2welcome login/h2 ? #validation and error messages ? login.no.username.error=liusername is required/li ? login.no.userpsw.error=li password is required /lihr ? login.error=li username or password is not correct/lihr 资源文件Application_perties: ?? # 中文资源信息 ? login.jsp.title=登录页面 ?? login.jsp.page.heading=h2 登录页面/h2 ?? success.jsp.title=登录成功页面 ? success.jsp.page.heading=h2欢迎登录/h2 ??? #验证错误信息提示 ???login.no.username.error=li用户名不能为空/li ?? login.no.userpsw.error=li密码不能为空/lihr ???login.error=li用户名或密码错误/lihr 在上面的资源信息文件中,以#开头的行是注释部分,其他的行都是key=value(键值)的形式,定义了一个key对应当前语言下的文字。 在进行国际化处理时,资源文件中包含中文字符,若不进行编码转换页面将会出现乱码。在JDK中提供了一个native2ascii程序,它能够实现字符编码转换。例
文档评论(0)