- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章Struts2输入校验概要
* * 第10章 Struts2校验 课前导读 对于Web应用程序来说,表单的验证是必不可少的一个环节,验证的好坏还会直接影响服务器的性能和软件的应用效率,对此Struts2提供了多种校验规则,基本可以满足表单验证的需求。 重点提示 输入校验简介 编程式校验 使用校验框架 只校验Action中指定方法 自定义校验器 基于注解方式的输入校验 * 1.1 输入校验简介 客户端校验 客户端校验主要是阻止正常用户的误操作输入提交到服务器,降低服务器端负担。主要通过JavaScript代码完成。 服务器校验 服务器校验是防止非法数据进入程序,导致程序异常、底层数据库异常。它是整个应用程序阻止非法数据的最后防线,主要通过在应用程序中编程实现。 * 1.1 Struts2的输入校验工作流程 通过名为validation的拦截器来完成输入校验功能 * 1.2编程式的校验 Action类要继承自ActionSupport类。 可以有以下三种编程式的输入校验方式: 在Action类的业务处理方法中编写输入校验代码 在Action类中重写validate()方法来编写输入校验代码 在Action类中重写validateXxx()方法来编写输入校验代码 xxx为某个业务处理方法 validate()方法和validateXxx()方法由DefaultWorkFlowInterceptor拦截器调用,之后它会调用hasErrors(),如果返回true就表示校验有错误,它将请求导向到input对应的结果视图。 在错误显示的JSP页面中: s:fielderror/或 s:fielderror fieldName=“userName”/ * 1.3使用校验框架 Struts2提供了基于验证框架的输入校验,这种校验方式是: 在外部校验配置文件中为Action的属性配置校验规则来完成数据校验 校验框架是通过validation拦截器实现,该拦载器被注册到默认的拦截器栈中。它在conversionError拦截器之后,在validateXxx()和validate()方法之前被调用。 * 1.4定义校验规则 校验框架通过读取校验配置文件中定义的校验规则对输入数据进行校验。 校验配置文件和Action类放在相同的包中,名为: Action类名-validation.xml 校验规则主要是定义哪些字段需要使用哪些校验器。 Struts2提供了大量的内建校验器,需要使用时只需要进行一些简单配置就可以。这些校验器声明在xwork包的com.opensymphony.xwork2.validator.validators包下default.xml文件中。 校验规则分两类: 字段校验规则:针对特定字段。如用户不允许为空 非字段校验规则:不是针对特定字段。如两次密码是否相同 * 1.5字段校验规则 示例 * 1.6非字段校验规则 示例 * 1.7 Struts2内建校验器 Struts2 内置校验器 * 1.7 Struts2内建校验器 Struts2 内置校验器 * 1.7 Struts2内建校验器 内置校验器示例 * 1.7 Struts2内建校验器 内置校验器示例2 * 1.8只校验Action中指定方法 两种方式 为Action中指定方法指定验证配置文件,配置文件命名为 ActionName-alias-validation.xml alias:要校验的方法对应的Action标签的name属性值 如:UserAction-user_add-validation.xml 在校验拦截器中指定要验证的方法 * 1.9 visitor校验器 visitor主要用来校验Action里的自定义对象属性。 如:使用模型驱动时,在UserAction中有一User类型的属性user,要对user的属性进行校验。 * 1.9 visitor校验器 针对User的校验规则文件 取名规范:visitor字段类型名[-visitorContext名]-validation.xml 这个校验规则文件要放置在对应类型的包下。 注意:校验Action里的自定义对象属性其实也可以直接使用字段检验器。 field name=user.loginname…/field * 1.10客户端校验和服务器端校验 设置s:form标签的validate属性: false:默认值。校验框架只执行服务器端校验。 true:先执行客户端校验,然后再执行服务器端校验。 form标签会根据你在服务器端配置的验证规则生成对应的JavaScript验证代码。 目前支持的内置校验器:required、requiredstring、stringlength、regex validator、
文档评论(0)