- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2-数据校验
Struts2数据校验 代码方式 xml配置文件方式 数据校验——代码方式 在业务方法中编写数据校验的代码 用addFieldError(fieldName,errorMessage)方法为特定字段设置错误信息 用hasFieldErrors()检测是否有字段有出错信息 返回true,则有字段校验出错 返回false,则无字段校验出错 JSP页面中,使用fieldErrors提取出错信息 eg: s:property value=“fieldErrors.password[0]”/ 数据校验——代码方式 public void validate()方法 继承ActionSupport父类 将校验代码单独放在validate方法中,相关代码在Action业务方法执行前会被自动执行 调用addFieldError(字段名,出错信息)为字段设置出错信息 validate方法执行完,struts自动检测fieldErrors,actionErrors,如果任何一个集合不为空,含有出错信息,则自动返回input结果 Action的Result中,必须包含一个叫input的结果,这个结果一般是指向数据输入页面 数据校验——代码方式 针对特定方法的校验 public void validateXxxx()方法 例如:Action中有login方法,可以为该方法配置特有的校验validateLogin() 数据校验——代码方式 验证方法执行流程 struts2接收用户参数并执行类型转换,将转换后的数据传递给Action的属性 如果类型转换出现异常,conversionError拦截器将异常信息添加到fieldErrors里 如果用户调用了特定的业务方法(非execute),则调用action中对应的validateXxxx()方法 调用action中的validate()方法 经过以上4 步,如果fieldErrors中存在错误信息,则数据出错,自动返回input结果;如果fieldErrors中没有任何信息,这通过数据校验,执行action中的业务处理方法。 基于xml配置文件的校验 校验文件名称有特定的命名格式Action类名-validation.xml 文件位置保持与Action同一位置 编写校验规则参考struts2文档validation部分bundled validators 基于xml配置文件的校验 struts内置校验器简介 required validator requiredstring validator int validator date validator fieldexpression validator email validtor url validator conversion validator stringlength validator regex validator 基于xml配置文件的校验 演示:对注册信息进行数据校验 基于xml配置文件的校验 对特定方法的校验 文件命名:Action类名-方法名-validation.xml 执行顺序 首先执行通用的校验文件:Action类名-validation.xml 如果调用的是特定方法(非execute),则调用对应的校验文件执行校验Action类名-方法名-validation.xml 如果两个文件,对同一字段,校验规则发生冲突,以后面的校验规则为准 基于xml配置文件的校验 short-circuiting validator 当一个字段有多个校验器时,可以通过指定short-circuit 属性为true,当检测到一个错误后,就停止对后续校验规则的调用 要使用校验框架,必须引入validation,workflow两个拦截器。这两个拦截器在defaultStack中已经引入。 当xml校验文件和validate校验方法同时存在时,二者都将被执行。先按照xml配置文件校验,然后执行validate方法。 * * * *
原创力文档


文档评论(0)