- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输入校验 第七章 教学目标 1、输入校验介绍 回顾 1、类型转换的必要性 2、自定义类型转换器 3、类型转换中的异常处理 4、使用类型转换注解 一、输入校验介绍 1、为什么需要验证 进行必要的格式检查 防止非法数据进入业务系统,保证系统数据完整 2、校验方式:客户端校验和服务器端校验 (1)客户端校验:一般采用javascript脚本实现 (2)服务器端校验:就是将数据校验放在服务器端 进行。如:Struts 2 框架 validate()使用例子: public void validate() { if(this.mobile==null || .equals(this.mobile.trim())){ this.addFieldError(username, 手机号不能为空); }else{ if(!Ppile(^1[358]\\d{9}).matcher(this.mobile.trim()).matches()){ this.addFieldError(“mobile, 手机号的格式不正确); } } } 验证失败后,请求转发至input视图: result name=input/WEB-INF/page/addUser.jsp/result 在addUser.jsp页面中使用s:fielderror/显示失败信息。 实例: validateXxx()方法使用例子: public String add() throws Exception{ return success;} public void validateAdd(){ if(username==null .equals(username.trim())) this.addFieldError(username, 用户名不能为空); } 验证失败后,请求转发至input视图: result name=input/WEB-INF/page/addUser.jsp/result 在addUser.jsp页面中使用s:fielderror/显示失败信息。 Struts 2中的验证框架 验证流程 通过转换器将请求参数转换成相应的Action属性; 判断转换过程是否出现异常。如果有,则将其保存到ActionContext中,conversionError拦截器再封装为fieldError;如果没有,进行下一步; 通过反射(Reflection)来调用validateXxx()方法(其中,Xxx表示Action的方法名); 调用validate()方法; 如果经过上述步骤没有出现fieldError,则调用Action方法;如果有,则会跳过Action方法,通过国际化将fieldError输出到页面。 二、Struts2输入校验 在上一节中通过validate()和validateXxx()方法实现了校 验,但是将校验嵌入到Action类中,会使得Action类变得 复杂和臃肿,同时增加Action和输入校验之间的耦合度, 这对Struts 2 来说是需要尽量避免的,所以Struts 2 提供了 一种基于框架的校验方式,将检验规则保存在特定文件 中,使Action和校验分离,从而提高系统的可维护性和可 扩展性. 二、Struts2输入校验 字段校验器配置风格:先指定哪个字段要校验,再指定用哪些校验器来校验该字段 非字段校验器先指定校验器,再来指定用该校验器校验哪些字段,该方式也被称为全局字段校验。 二、Struts2输入校验 实例:字段校验器配置风格 ?xml version=1.0 encoding=UTF-8? !DOCTYPE validators PUBLIC -//OpenSymphony Group//XWork Validator 1.0.3//EN /xwork/xwork-validator-1.0.3.dtd validators field name=username field-validator type=requiredstring param name=trimtrue/param message用户名不能为空!/message /field-validator /field /validators 二、Struts2输入校验 参数说明: field指定action中要校验的属性,field-validator指定校验器,上面指定的校验器requiredstring是由系统提供的,系统提供了能满足大部分验证需求的校验器,这些校验器的定义可以在x
文档评论(0)