- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2最强最精华课件
5. 验证配置文件详细说明 验证文件的元素结构 配置参数元素说明 参数 说明 validators 验证文件的根元素 validator 声明普通验证器,有两个属性: 1、type属性,是必须的,用于指定使用的验证器的名字; 2、short-circuit属性,只能取值true或false(默认值),指定在本验证器验证失败时是否阻止其他验证器执行。 3、如果使用validator声明字段验证器,必须使用fieldName参数指定要验证的字段。 validator type=requiredstring param name=fieldNameusername/param message username is required/message /validator param 用于向验证器传递参数。有一个必须的name属性,用于指定验证器的参数名,而param的内容作为参数值 field 声明字段验证器,有一个name属性用于指定要验证的字段名 field-validator 用于配置验证规则,有两个属性: 1、type属性,是必须的,用于指定使用的验证器的名字; 2、short-circuit属性 message 指定验证失败时的错误消息。 有可选的key属性,用于指定国际化资源文件本地消息的键。 6. Struts2内置的验证器 中文名称 功能说明 必填验证器 检查字段是否为null 必添字符串验证器 检查字符串字段值不能为null,并且长度大于0(不为) 整数验证器 检查指定的整数是否在一定的范围内 双精度浮点数验证器 检查指定的双精度浮点值是否在一定的范围内 日期验证器 检查日期是否在指定的范围内 表达式验证器 基于OGNL表达式进行验证 字段表达式验证器 基于OGNL表达式进行验证 正则表达式验证器 使用正则表达式验证一个字符串的值 Email验证器 使用正则表达式验证一个字符串是否是合法的邮件地址 网址验证器 验证一个字符串是否是合法的URL地址 转换验证器 检查指定字段在数据类型转换过程中是否出现转换错误 7. 开发自定义验证器流程 步1开发-自定义验证类(ValidationCodeValidator类) 步2注册-自定义验证类 validators validator name=validationCodeValidator class=...self.ValidationCodeValidator/ /validators 步3使用-在Action中使用自定义验证类 field name=validationCode field-validator type=validationCodeValidator param name=sessionValidationCode#session.validationCode/param message key=error.validationCode.invalid/ /field-validator /field 8. Struts2的输入校验流程(重要) 步1:类型转换:将字符串格式请求参数转换成对应的Java强类型,并将转换后的值设置为Action中的属性值 步2:错误信息保存到ActionContext中,conversionError拦截器负责将其封装到fieldError中 步3:Struts2内置的验证规则进行数据校验(即根据各种*validation.xml文件里定义的校验进行数据校验) 步4:调用validateXXX()方法 步5:调用validate()方法 步6:调用Action类中的处理方法 数据验证习题 用户注册验证码综合训练题 validateXXX方法 validate方法 自定义验证类 3.3 Struts OGNL增加语法 [N]语法:从值栈中的某个位置开始向下查找对象的属性 [N]获取从位置N开始的部分栈 top关键字:直接获得值栈中栈顶的对象 获得当前访问的Action对象 结合[N]语法,可以获取值栈中任意位置的对象。例如: [0].top:获取User对象,其作用等同于top; [1].top:获取Manager对象 访问静态成员 使用“vs”前缀调用值栈中对象的静态方法和静态字段。 例如:@vs@PROPERTY @vs@mothod @vs2@PROPERTY @vs2@mothod 如果只是vs,使用栈顶对象的类; 如果vs后面有数字,将使用值栈中指定位置处的对象的类 3.4 Struts OGNL增加语法Struts中的命名对象 parameters: 用于访问请求参数 相当于调用HttpServletRequest
文档评论(0)