`
1140566087
  • 浏览: 545900 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18022
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:308741
Group-logo
J2ME 基础学习课程集
浏览量:17884
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17153
社区版块
存档分类
最新评论

Struts2 国际化与数据验证

阅读更多
国际化与本地化:
	Java 语言中使用Unicode字符集,为我们建立国际化的Web应用奠定了基础;
	
	国际化:就是使程序不做任何的修改情况下,就可以在不同的国家或地址和不同语言环境下,按照当地的语言和格式习惯显示字符;I18N
	本地化:一个国际化程序,当它运行在本地机器上时,需要根据本地机器的语言和地区设置显示相应的字符,这个过程为L10N;
	
	两个主要类:
		java.util.Locale类    java.util.ResourceBundle 抽象类
		
		Locale类:两种常用构造方法:
				public Locale(String languages)
				public Locale(String language,String country)
			language : 表示语言,取值为 ISO-639 定义的小写的、两个字母组成的语言代码;
			country  :表示国家或地区,取值由:ISO-3166 定义的大写的、两个字母组成的代码;
			ISO-639 常用代码:					ISO-3166 国家和地区代码
				Chinese zh						China	CN		
				English en						United States US
				German de						Great Britain GB
				French fr						Canada		CA
				Japanese ja						Germany		DE
				Korean ko						Japan		JP
												Korea	KR
												Taiwan TW
												Hongkong HK
		案例:
			Locale locale = new Locale("en","GB");		//应用与英国的Locale
			
消息格式化:
	使用java.text.MessageFormat 类的静态方法format(),用来格式化带参数的文本,可替换占位符;
	一般使用默认的Locale,如果要使用特定的Locale , 需要构造一个MessageFormat 对象	
	MessageFormat mf = new MessageFormat(greeting,locale);
	String msg = mf.format(new Object[]{"xiaofang",new Date()});
	消息文本中的数字占位符将按照Object[]数组元素的顺序而被替换;

Struts2 中的国际化:
	配置资源文件:Struts2 强调的使各个组件之间的松散耦合,而各个组件之间都是通过配置文件来实现相互关联和交互;
	
	配置资源文件常量:即配置框架的struts.custom.i18n.resources 常量,该常量定义了struts2 框架全局国际化资源的basename;
	
	案例:配置常量 在struts.xml中进行配置:
		<constant name="struts.custom.i18n.resources" value="globalMessages"></constant>
	建立资源文件:
		规则:basename_language_country.properties   建立不同语言环境的资源文件;
		
		native2ascii MyResource.tmp MyResource_zh_CN.properties----将MyResources.tmp文件中的非ASCII 字符转换成Unicode编码保存
		到MyResources_zh_CN.properties文件中			
	
	
	使用getText("key");  可以在action中获取资源文件中的内容 ,包含获取带参数的资源文件内容;	
	
访问国际化消息:	
	Struts2 主要提供了多种方式来访问资源文件中的本地化消息,以适应不同的场景:
		
		在action 中访问本地化消息	
			String msg=getText("greeting",new String[]{"值1",值2});  // 不同类型加不同符号
		
		
		在jsp页面中访问本地化消息		
			不带参数的:<s:text name="title"> 访问键为title 的消息字符串
			带参数的:greeting={0},欢迎你进入管理界面今天使:{1}
						<s:text name="greeting">
							<s:param value="小贩">
							<s:param value="new java.util.Date()"/>
						</s:text>	
			
		在表单标签的属性中访问本地化消息
			使用getText(); 方法获得消息字符串
			<s:textfield name="user.username" label="%{getText('username')}"/>
			使用表单标签的  key 属性来指定消息字符串的key
				<s:textfield name="user.username" key="username"/>	
		
		
		在资源文件中访问本地化消息
				email = 邮件地址
				error.emal.invalid=${getText("email")}
	
	
	
Struts2 的输入验证:
	对用户输入的数据验证分为两个部分:	一是验证数据的有效性,而是在用户输入了不正确的数据后向用户提示错误信息;
		
	验证分为:客户端验证/服务器端验证
		客户端验证:主要是通过JavaScript 脚本来实现
		服务器端验证:编写java代码来对输入的数据进行验证;
	
	使用valide()方法验证:在类ActionSupport中,只需将该方法重写;
	addFieldError("username","用户名不能为空"); 这个方法执行后execure() 这个方法就不会执行;
	
	执行完验证方法之后框架会自动的返回到input视图组件中;		
	<result name="input" >/reg.jsp</result>
	
	<s:form/> 会自动的将异常信息显示该表单元素验证异常的信息,如果要显示异常信息可以加入<s:fielderror/>标签,
	该标签会显示所有的异常信息;
	

基于框架的输入验证:
		1、使用字段验证的输入验证
		2、使用非字段的输入验证
		
		1、使用字段验证,就是建立一个特性的验证规则文件xml文件;规则:Action 名称-validation.xml
			文件内容见:RegAction-validation.xml
	
		2、非字段验证:
		<validators>
			<validator type="requiredstring">
				<param name="fieldName">username</param>
				<message>..
			</validator>	
		</validators>
		
	输入验证的国际化信息:reg.error.required.username 为资源文件中的 key==键
		<validators>
			<validator type="requiredstring">
				<param name="fieldName">username</param>
				<message key="reg.error.required.username"></message>
			</validator>	
		</validators>

	
	
													
分享到:
评论

相关推荐

    Struts2数据校验与国际化

    Struts2数据校验与国际化,有validate()方法校验,有validateXxx()方法校验,有配置文件校验;国际化:有英,香港,内地

    struts2数据验证与国际化

    struts2数据验证与国际化 一个PPT,内有很多可看的内容. 朋友还是看看吧!

    Struts2中的validation_多国语言版 国际化i18n+struts2数据校验.zip

    Struts2中的validation_多国语言版 国际化+struts2数据校验.zip

    struts2帮助文档

    struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...

    struts2入门教程

    ·Struts2国际化(i18n)您的应用程序 ·Struts2.0转换器(Converter) ·Struts 2.0中实现表单数据校验(Validation) ·拦截器(Interceptor) ·Struts 2中实现IoC ·Struts 2中实现文件上传 ·Struts 2中的...

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    Struts2 概述 如何应用Struts2 Struts2 配置文件 如何编写Action 拦截器 Struts2的标签 OGNL 数据校验 国际化

    Struts2全解Struts2全解

    5struts2国际化 ......... 6 struts2输入校验 ......... 7 struts2 OGNL(对象图形化导航语言) ........ 8 struts2拦截器 ......... 9 struts2类型转换 ........ 10struts2标签库 ........ 11、访问数据库 ........

    STRUTS 2完全学习手册.pdf

    包括Struts 2中配置文件的详细讲解、国际化与异常处理、数据类型的转换、数据的输入校验、Struts 2强大的标签库、Struts 2中文件的上传与下载、Struts 2对Ajax的支持、Struts 2与流行框架的整合,最后以3个实例由...

    struts2讲义_吴峻申

    8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 165 8.3.1 Struts2中单个Java对象的输入校验形式 166 8.3.2 Struts2对象集合即批量输入的校验形式 169 8.4 Struts2输入校验器大全 171...

    Struts2中对输入数据进行验证源码

    源码加载好之后运行的url是...default.action,绝对能运行,我QQ:459789479,有问题可以问我,源码中包括:国际化、对输入数据进行验证、Struts2中处理验证码等技术,还有对输入数据进行验证的学习说明

    J2EE企业级项目开发-3期(KC007) 8.2 Struts之数据校验与国际化文档.doc

    J2EE企业级项目开发-3期(KC007) 8.2 Struts之数据校验与国际化文档.doc 学习资料 复习资料 教学资源

    J2EE企业级项目开发-3期(KC007) 8.2 Struts之数据校验与国际化考试.doc

    J2EE企业级项目开发-3期(KC007) 8.2 Struts之数据校验与国际化考试.doc 学习资料 复习资料 教学资源

    Struts2 in action中文版

    第11章 理解国际化 240 11.1 Struts 2框架和Java i18n 241 11.1.1 使用ResourceBundle和Locale取得本地化文本 241 11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts ...

    struts2总结

    主要总结struts2的一些基本知识点,包括struts2的国际化,拦截器的配置,strtus2 的零配置,struts2实现数据校验

    Struts2入门教程(全新完整版)

    1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49 八、验证机制 50 1.基于手工编码的校验 50 简析校验流程: 53 2.基于XML配置形式的...

    struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成 项目下载

    struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成\部分代码, 项目下载、 部分代码 请看: http://blog.csdn.net/liangrui1988/article/details/9778787

    Struts2 学习笔记

    三、 Struts2国际化 35 1、 Action级别 35 2、 Package级别 36 3、 Application级别 36 四、 资源文件中的参数处理 37 五、 国际化-动态语言切换 37 09 自定义拦截器 38 10 类型转换 38 Struts2总结 39

    Struts2完全自学手册(16-19)

    包括Struts 2中配置文件的详细讲解、国际化与异常处理、数据类型的转换、数据的输入校验、Struts 2强大的标签库、Struts 2中文件的上传与下载、Struts 2对Ajax的支持、Struts 2与流行框架的整合,最后以3个实例由...

    struts2课程笔记

    struts2知识点:处理流程,基本配置,与servlet的API解耦,结果类型,通配符和动态方法的调用,类型转换,文件上传,拦截器,表单验证,国际化,OGNL表达式,UI标签,模型驱动,防止表单重复提交,项目练习知识点:...

Global site tag (gtag.js) - Google Analytics