- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Struts2表单数据校验企业级卓越人才培养天津滨海迅腾科技集团有限公司第五章
学习目标了解数据校验的主要原理理解数据校验的组成部分掌握数据校验的使用
概述表单是应用程序最简单的入口,对其传进来的数据,我们必须进行校验。转换是校验的基础,只有在数据被正确地转换成其对应的类型后,才可以对其取值范围进行校验。在Struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。对于输入校验Struts2提供了两种实现方法:采用手工编写代码实现。基于XML配置方式实现
采用手工编写代码实现根据例子,逐步体会采用手工编写代码实现校验流程与其重要性。首先,从action开始 publicvoidvalidate(){ if(this.mobile==null||.equals(this.mobile.trim())){ this.addFieldError(mobile,手机号不能为空); }else{ if(!Ppile(^1[358]\\d{9}).matcher(this.mobile.trim()) .matches()){ this.addFieldError(mobile,手机号的格式不正确); } } if(this.username==null||this.username.equals()){ this.addFieldError(username,用户名不能为空); } }
实例介绍xml的具体配置actionname=user_*class=com.xtgj.struts2.chapter05.user.UserActionmethod={1} resultname=successsuccess.jsp/result resultname=inputregister.jsp/result/action
实例介绍用户注册页面register.jsp
实例介绍若未输入信息就点击了提交按钮
实例介绍输入不合法的手机号
实例介绍对action指定方法输入校验publicvoidcheckmethod(){ if(this.mobile==null||.equals(this.mobile.trim())){ this.addFieldError(mobile,手机号不能为空); }else{ if(!Ppile(^1[358]\\d{9}).matcher(this.mobile.trim()) .matches()){ this.addFieldError(mobile,手机号的格式不正确); } } if(this.username==null||this.username.equals()){ this.addFieldError(username,用户名不能为空); }}publicvoidvalidateRegist(){ checkmethod();}publicvoidvalidateUpdate(){ checkmethod();}
数据校验工作方式
输入校验在Struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。对于输入校验Struts2提供了两种实现方法: 1.采用手工编写代码实现。 2.基于XML配置方式实现。
输入校验的流程类型转换器对请求参数执行类型转换,并把转换后的值赋给action中的属性如果在执行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext,conversionError拦截器将异常信息添加到fieldErrors里。不管类型转换是否出现异常,都会进入第3步系统通过反射技术先调用action中的validateXxx()方法,Xxx为方法名再调用action中的validate()方法经过上面4步,如果系统中的fieldErrors存在错误信息(即存放错误信息的集合的size大于0),系统自动将请求转发至名称为input的视图。如果系统中的fieldErrors没有任何错误信息,系统将执行action中的处理方法
输入校验使用基于XML配置方式实现输入校验时,action也需要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,-validation为固定写法。如果Action
您可能关注的文档
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-05.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-06.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-07.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-08.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-09.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-10.ppt
- Windows程序设计高级-基于.NET平台开发CRM系统-第二部分Windows高级编程CORE-10.ppt
- 工程实践创新-智慧社区CORE-03.pptx
- 工程实践创新-智慧社区CORE-07.pptx
- 基于MVC的Java Web项目实战CORE-01.ppt
- 5.15《广府文化誉中华》(教学设计)-2023-2024学年六年级下册综合实践活动广州版.docx
- 专题2.4 可以复用的代码(第2课时)(教学设计)-高一信息技术同步精品课堂(新教材教科2019版必修1).docx
- 第3章 第3节 水资源2023-2024学年八年级上下册地理教材易点通教学设计(人教版).docx
- 公共卫生教案预防传染病,守护健康.docx
- 文学教案阅读文学作品.docx
- 1.1 认识化学科学教学设计---2024-2025学年九年级化学沪教版(全国)(2024)上册.docx
- 辽宁省沈阳市第二十一中学高中英语 Module 5 Newspapers and Magazines Period 1 Introduction,Cultural Corner,Function and Everyday English教案 外研版必修2.docx
- 2024年秋九年级历史上册 第20课《法国大革命》教案 华东师大版.docx
- 九年级化学下册 第9单元 课题2 溶解度教案1 (新版)新人教版.docx
- Unit 5 The Value of Money 单词词汇 教学设计-2023-2024学年高中英语人教版(2019)必修第三册.docx
文档评论(0)