1.1 Struts Validator验证器应用示例(第3部分)
1.1.1启用客户端验证技术
1、在JSP页面中添加下面的内容
<%@ page language="java" pageEncoding="gb2312"%>
<%@ taglib uri="https://www.doczj.com/doc/c112432704.html,/tags-bean" prefix="bean" %>
<%@ taglib uri="https://www.doczj.com/doc/c112432704.html,/tags-html" prefix="html" %>
<%@ taglib uri="https://www.doczj.com/doc/c112432704.html,/tags-logic" prefix="logic" %>
<%@ taglib uri="https://www.doczj.com/doc/c112432704.html,/tags-tiles" prefix="tiles" %>
对需要验证的表单定义onsubmit事件,其中onsubmit的值为"return validateValidatorUserInfoActionForm (this);",它的语法为:return validate + struts-config.xml 中定义的form-bean名称(但以大写字符开头)+ (this);
2、再部署和执行本应用http://127.0.0.1:8080/SSHStrutsWeb/validatorPage/validatorUserLogin.jsp
可以查看所产生的JavaScript的源程序
将产生出下面的提示对话框
或者
标签生成的js脚本validateValidatorUserInfoActionForm函数,执行验证。如果验证失败,就会弹出对话框提示,不会提交的服务器端。
一、Struts2输入校验介绍 Struts2的输入校验和类型转换都是对请求参数进行处理。 输入校验顾名思义就是请求参数是否能够满足一定的要求; 客户端校验&服务器端校验 客户端校验是指在浏览器这端通过Javascript进行初步校验,为了减轻服务器端的负载;服务器端校验是校验数据的最后一道防线; 在Struts2中,数据校验不需要写任何代码,只需要一个配置文件,配置校验的条件就可以了,非常简单;因此数据校验文件是数据校验的最重要的内容; 二、数据校验规则文件 1.数据校验规则文件规则: 1.此文件中规定了参数的一些校验条件; 2.可以包括字段型校验器和非字段型校验器; 3.命名规则:ActionName-validation.xml,其中ActionName是Action类的名字; 4.每个Action都有一个validation文件,规则文件放在和Action同目录下; 5.在前面我们讲到的配置逻辑action中,如果需要对某个逻辑Action配置数据校验文件,则命名规则为:ActionName-LogicActionName-validation.xml; 6.注意:当需要对逻辑action进行校验时,如果存在一般形式的ActionName-validaton.xml 文件,则也会对此逻辑Action进行校验; 7.输入校验失败后,和类型转换一样,会将错误封装成fieldError,并放入Action Context 中,因此在JSP中添加
评卷浏览 考生姓名张彬答题开始时间2013-04-24 10:15 结束时间2013-05-02 10:15 考生得分0 满分161 及格分60 一、单项选择题(共41题,41分) 1. Customer对象在程序执行到第几行时变为脱管状态? Customer customer=new Customer(); //line1 customer.setName("张三"); Session session=sessionFactory.openSession(); //line2 Transaction tx = session1.beginTransaction(); session.save(customer); //line3 https://www.doczj.com/doc/c112432704.html,mit(); //line4 session.close(); //line5 (1 分) A) line1 B) line2 C) line4 D) line5 —标准答案:D —考生答案:D —考生得分:1 评语: 2. 在struts2应用开发中下列描述正确的是(1 分) A) 为每一个Action在XML中配置一个action,并且这个XML配置文件必须命名为struts.xml,并放置在类的根路径下。 B) 为每一个可能接收的逻辑请求编写一个Action类,该类必须继承父类ActionSupport 。 C) 在web程序的部署描述文件(web.xml)中配置struts2核心控制器,该核心控制器是一个过滤器。 D) Struts2的Action必须实现Action接口。 —标准答案:C —考生答案: —考生得分:0 评语:
Struts2校验器类型详解 一、Struts2内建校验器 位于xwork-2.0.4.jar压缩包中(com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框架内建的校验器。default.xml文件定义了常用的校验器类型。 首先搞清楚: struts2字段校验器与非字段校验器的区别 字段校验器配置格式:
Struts2Validator Struts2验证框架 Updated Jun 18, 2010 by cm2...@https://www.doczj.com/doc/c112432704.html, Action配置中一定要设置input返回页面 添加验证只要创建验证的xml文件 1.创建xml文件名 验证Action中全部方法 在Action同包下,创建:Action类名-validation.xml 如:ValidateAction创建ValidateAction-validation.xml 验证Action中单个方法 Struts模拟考试试卷 课程名称:《struts:使用struts框架开发基于MVC设计模式的WEB应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1. ActionForm中的validate方法返回什么值,认为是验证成功()。[选两项] A.null B.空字符串 C.一个空的ActionError对象D.一个空的ActionErrorS对象 2.在Struts中,ActionServlet的作用是()。[选两项] A.它是所有FormBean的父类 B.它是所有ActionBean的父类 C.核心控制器D.将请求中的数据封装到FormBean中 3.下面html标签的使用中正确的是()。[选两项] A. Struts2复习题 1.以下属于struts2的控制器组件是: A.Action B.ActionForm C.ActionServlet D.dispatchAction 2.以下属于struts2的体系结构的是:(多选) A.struts2控制器组件 B.struts2配置文件 C.FilterDispathcer D.Action 3.以下属于struts2配置文件中的配置元素是:(多选) A. 一JQuery.validation 验证框架使用细解 一、用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassistance.de/api-browser/plugins.html 当前版本:1.5.5 需要JQuery版本:1.2.6+, 兼容 1.3.2 二、默认校验规则 (1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性 (7)number:true 必须输入合法的数字(负数,小数) (8)digits:true 必须输入整数 (9)creditcard: 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (15)range:[5,10] 输入值必须介于 5 和 10 之间 (16)max:5 输入值不能大于5 (17)min:10 输入值不能小于10 三、默认的提示 messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.", number: "Please enter a valid number.", numberDE: "Bitte geben Sie eine Nummer ein.", digits: "Please enter only digits", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: $.validator.format("Please enter no more than {0} characters."), 1.系统分析与设计 1.1 系统功能描述 本系统是个非常简单的注册、登录系统。本系统的实现是基于Struts2、Spring、Hibernate 三个框架,系统功能单一,业务逻辑简单。 当用户注册信用户时,就是向系统中增加一个新用户,对应的数据库增加一条记录。 当用户输入注册信息时,系统提供了基本的输入验证判断用户输入是否合法,只有当用户输入满足基本输入要求时,才会被提交到实际的登录系统,进行实际的登录处理。 系统还使用了随机产生的图形验证码来防止刷新,防止用户通过单击浏览器的书安心按钮来重复注册多个用户。 系统还提供了一种Ajax方式来验证用户输入的注册名是否有效,系统要求所有的用户名不能重复。故当用户输完用户名后,系统立即在页面上方提示用户该用户名是否可用,如果系统中没有该用户名,则系统提示该用户名可用;否则提示用户该用户名重复,用户必须重新选择用户名注册。 当用户注册一个新用户名之后,就可以使用系统的登录功能来登录系统了,用户输入登录用的用户名、密码后,系统一样提供了基本的输入校验。 除此之外,系统还采用了随机产生图形验证码来防止恶意用户的暴力破解,系统随机生成一个图形验证码,而用户登录必须输入图形验证码中显示的字符串,只有用户输入的字符串和系统随机生成的验证码字符相同时,系统才允许用户登录。 1.2 系统功能流程 1.3 数据库设计 相关的映射文件: JBoss4.2及JBoss5.0部署jax-ws2.0/2.1WebServices 一,部署jax-ws 2.0/2.1 POJO Web Service到JBoss4.2.2.GA 1:必须为你的POJO Web Service定义一个Servlet,并定义service的endpoint。 这意味着必须修改/增加两个文件:WEB-INF/web.xml;WEB-INF/sun-jaxws.xml (附文后) 2:最好将所需的jax-ws jars放到WEN-INF/lib里,免得将这些jar拷贝来拷贝去。 本人曾试了半天,拷来拷去,反正是搞不定。最后还是一古脑儿索性全放到WEB- INF/lib里,倒是爽快: WEB-INF/lib/jaxws-rt.jar WEB-INF/lib/jaxws-tools.jar WEB-INF/lib/log4j-1.2.8.jar WEB-INF/lib/saaj-api.jar WEB-INF/lib/saaj-impl.jar WEB-INF/lib/sjsxp.jar WEB-INF/lib/stax-ex.jar WEB-INF/lib/streambuffer.jar WEB-INF/lib/sxalan.jar 别问我到底哪个是哪个,都是干什么的。 二,部署jax-ws 2.0/2.1 POJO Web Service到JBoss5.0.0.GA 好像是去年,JBoss5面世了,根据其Release Note,它是“the final release of the JBoss 5.0 series for th e Java EE?5 codebase that fully complies with the Java EE 5 conformance testing certification requirements.” 但本人的试验结果却 Struts2校验器类型 10.3 验证器类型 可以把验证器类型分为两种:字段验证器和动作验证器。其中,字段验证器就像前面演示的那样,只验证提交的表单内的单个字段;而动作验证器一般验证提交的表单内的多个字段的关系,比如,录入产品信息的时候,产品的进价不能高于售价。 无论是哪种验证器,都需要考虑以下几个问题: ?验证谁? ?使用什么条件验证? ?不满足条件显示什么结果? ?不满足验证条件时显示的结果出现在页面的什么位置? 10.3.1字段验证器 字段验证器用来验证提交的表单内的单个字段,如同前面的示例,在验证文件里: java代码: 查看复制到剪贴板打印 1. 最常用的三种类型验证 Struts2 配置就不说了,xml命名可以是action类名称-action名称-validation.xml 这样的命名方法可以当当每次访问这个action名称的时候才验证。 看代码。 STRUTS2模拟测试(开卷——定时90分钟) 一、填空题 1.Struts2框架由___Struts1________和____WebWork_______框架发展而来。(Struts&WebWork ) 2.Struts2以___WebWork______为核心,采用____拦截器_______的机制来处理用户的请求。(WebWork,拦截器)3.构建Struts2应用的最基础的几个类库是struts-core-2.1.6.jar___________、__xwork-2.1.2.jar_________、__ognl-2.6.11.jar_________ 、_freemarket-2.3.13、_commons-logging-1.0.4.jar_________以及 ___commons-fileupload-1.2.1.jar________。 4.Struts2中的控制器类是一个普通的_____class______。Class 5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为_<%@ taglib prefix=”s” uri=”/struts-tags”%>__________。<%taglib uri="/struts-tags" prefix="s"%> 6.在Struts2表单标签库中,表单标签为_ (一)、可选项( options ) (1) (二)插件方法(jQuery validation) (7) (三、四)选择器及实用工具(jQuery validation) (8) 四、实用工具(Utilities) (8) (五)验证器(jQuery validation) (9) (六)内置验证方法(jQuery validation) (11) (七)注意事项(jQuery validation) (17) (八)应用实例(jQuery validation) (18) jQuery验证框架应用 https://www.doczj.com/doc/c112432704.html,/blog/556633 Html代码 Struts测试题
struts2复习题(含答案)
jquery validate 校验框架使用开发指南
struts2 实验报告
Validator验证框架的内置标准验证
Struts2校验器类型
struts2基于xml验证(最常用的三种类型String、Date、int验证)
STRUTS2模拟(答案)
jQuery验证框架
表单验证错误处理 你会发现在方法中我们使用了 CModel::addError().添加错误接受两个参数: 第一个参数是在表单中显示错误的属性名,第二个参数时显示的错误信息 。用 户提交表单时,可能除表单验证之外还有与表单各输入项无关的其他错误产生, 例如后台数据库出错、接口调用失败等。这种情况下可以在Model 中相应的位 置使用如下代码记录错误: 1 $this->addError('info', '发送不明错误,请重试'); // info 只是一个自定义的名字,不需要真正有这个字段或属性。 然后在视图文件中这样输出错误: 1 echo $form->error($model, 'info'); //$form 是 CActiveForm 的实例。$form->getErrors(); 当我们调用 CModel::validate() 方法, 我们可以指定一个场景参数. 只有在特定 的场景下校验规则才会生效.校验规则会在那些 on 选项没有被设置或者包含了 指定的场景名称的场景中生效.如果我们没有指定场景,而调用 了 CModel::validate() 方法,只有那些 on 选项没有设置的规则才会被执行 . 1 2 3 $model = new model('register'); // or $model=new User; // $model->scenario='register'; 例如,在注册一个用户时,我们运行以下脚本来执行校验 : 1 array('password', 'compare', 'compareAttribute'=>'repassword', 'on'=>'register,edi t'), Email 验证器: 1 array('email','email'), //验证email 这个字段必须符合email 格式 Compare 验证器: 1 2 array('password2','compare','compareAttribute'=>'password1'),//验证 password1和password2必须一致 array('end_date','compare', 'compareAttribute' => 'start_date', 'op erator' => '>', 'message' => '错误的开始结束日期'), Unique 验证器: 1 array('username,email','unique','className'=>'User'),//User 为Model,username,email 在user 中不允许重复 如果被验证属性为空,就认为完全合法,立刻返回,但是如果allowEmpty 为false 的话,就要通过函数后续的所有验证条件 。那么对于一个传入的空值来说, allowEmpty 无论是true 还是false ,极有可能都不会报错,上面节选的验证器是 StringValidator ,如果我没有设定min 的值,那么一个空串在allowEmpty 为false 的情况下,还是不会报任何错误的。如果希望一个属性值不能为空,最好还是用 RequiredValidator 来验证,allowEmpty 是不靠谱的,建议一般就采取allowEmpty 的默认值true ,可以节省几次判断。 1 a rray('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
Struts2面试题 1、struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,
包含了框架内部的控制流程和处理机制。 业务控制器Action和业务逻辑组件是需要用户来自己实现的。 用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件, 供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同, 所以说Struts 2是WebWork的升级版本。基本简要流程如下: 1 、客户端初始化一个指向Servlet容器的请求; 2、这个请求经过一系列的过滤器(Filter) (这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器, 这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 、接着FilterDispatcher被调用, FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4、如果ActionMapper决定需要调用某个Action, FilterDispatcher把请求的处理交给ActionProxy 5、ActionProxy通过Configuration Manager询问框架的配置文件, 找到需要调用的Action类 6、ActionProxy创建一个ActionInvocation的实例。 7、ActionInvocation实例使用命名模式来调用, 在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP 或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper 9、响应的返回是通过我们在web.xml中配置的过滤器 10、如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocal ActionContext;如果ActionContextCleanUp不使用,则将会去清理sreadlocals。 2、说下Struts的设计模式 MVC模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生 成动态的网页,返回给客户。
jQuery validation验证框架 jQuery验证框架(一)可选项(jQuery validation) 15人收藏此文章,收藏此文章发表于8个月前, 已有3152次阅读共0个评论15人收藏此文章 jQuery验证框架 Html代码 1. 3. 8.
此文谨以以上js片段开始介绍jQuery Validation。 验证从这个方法开始:validate( [options] ) 一、可选项( options ) [1]debug类型:Boolean默认:false