首页 > 代码库 > Struts2 第七章 国际化与数据验证[转]
Struts2 第七章 国际化与数据验证[转]
第七章 国际化与数据校验;
1.回顾
1)Struts2数据类型转换的基础工作;
2)内置转换器默认支持8个基本的数据类型自动转换;
3)自定义转换器的定 义和配置;
2.目标和重点
1)理解国际化与本地化的基本原理;
2)掌握Struts的国际化支持应用;
3)掌握Struts2中是validate和validateXXX方法验证;
4)掌握Struts2中验证框架在开发中的使用
3.难点
1) 国际化的基本原理和Struts2对国际化的支持应用,配置国际化
2) 掌握Struts2中是validate和validateXXX方法
3) 掌握Struts2中验证框架开发和使用
4.知识点内容讲解
4.1 国际化和本地化原理
如 今的发展趋势下,跨国的应用需要系统支持国际化,比如大的跨国公司的办公管理、国际性的网站,还有一些商业软件,在不同的国家和地区使用的文字不同,如果在不改变软件产品的情况下,让软件产品适用当地的语言环境就更好了,也就是说一个应用系统部署后,不管是中国的用户,还是美国的用户,在他们各自使用同一 个系统时,使用的是自己本地区的语言,这就是国际化。
Java本身就支持国际化,在java中定义了unicode,包含了世界各国的文字符号的编码,并且提供了相关的组件来实现国际化的需求,主要关注类的是
Locale 获取本地环境
ResourceBundler 资源文件绑定
这2个类提供了java实现国际化的基本支持
1. 定义资源文件在src目录下applicationResource.properties,根据不同的国家和地区在定义该地区需要的资源文件,比如中国 的资源文件可以定义成applicationResource_zh_CN.properties,在这个文件中保存的是转换后的unicode字符
hello=\u4F60\u597D
welcome=\u6B22\u8FCE\u5149\u4E34, {0}\u767B\u5F55.
2.使用2个类来读取资源文件
4.2 Struts2国际化
1、配置Struts2国际化资源文件applicationResource.properties
applicationResource_zh_CN.properties
2、配置struts.xml文件,增加常量定义
<constant name="struts.custom.i18n.resources" value="http://www.mamicode.com/applicationResource"></constant>
3、在标签中使用定义好的资源
<s:text name ="page.title"/>
<s:textfield name="userName" key="page.login.username"/>
<s:submit key="page.login.submit" />
Text标签用来输出普通文字name属性=资源名称
用户界面标签如textfield、submit标签的key属性=资源名称
Struts2的国际化是对java的国际化的一个封装,简化操作。
4.3 Struts2的输入验证
Struts2的输入验证有二种方式,一种是validateXXX方法验证,另一种是框架配置验证规则来验证,两种方法可以混用
4.3.1 方法验证
validateXXX方法验证时采用硬编码的方式,在代码中实现验证,Struts框架要求重写父类的validate方法,如果action是一个多方法动态调用的action,在实现validate方法时,方法名是“validate+自定义方法”的格式。
4.3.2 框架验证
Struts2框架还支持配置验证规则来对输入的数据进行验证
- 需要建立一个验证规则的xml配置文件,
- 必须建立一个以Action名称开头的-validation.xml
- 必须与Action放在同一目录下
- 验证规则配置文件需要遵守xwork-validator.dtd约束,dtd文件在xwork-core-2.x.x.jar包中 xwork-validator-1.0.x.dtd
使用Struts2验证框架,页面需要使用Struts2的标签
Jsp页面
验证规则配置文件
5.作业
为自己的登录页面进行数据验证,配置验证规则的validate.xml文件,实现框架验证
Struts2 第七章 国际化与数据验证[转]