- 浏览: 97416 次
- 性别:
- 来自: 北京
最新评论
-
zhaolianyang:
leftcopychenhx 写道&是在什么情况作为逻 ...
JAVA 面试32问 -
zhaolianyang:
Mybeautiful 写道第二十六,当一个线程进入一个对象的 ...
JAVA 面试32问 -
leftcopychenhx:
&是在什么情况作为逻辑运算符呢
JAVA 面试32问 -
Mybeautiful:
第二十六,当一个线程进入一个对象的一个synchronized ...
JAVA 面试32问 -
zhaolianyang:
dayaolili 写道 那就换个有激情有动力的工作吧!换个适 ...
如何在工作中保持旺盛的状态???
Struts2的校验框架 续
struts2同样支持客户端的验证:
1、form的主题(theme)一定不能设为simple
一、修改register2.jsp中表单的主题( 去掉 theme="simple"):
2、将form的validate属性设置为true:
最好不要使用struts2给我们提供的客户端校验方法。
二、struts2的客户端校验,用自定义的js代码实现,修改register2.jsp页面:
说明:struts2的校验分为字段校验和非字段校验,之前是使用的字段校验,字段校验与非字段检验最根本的区别:所谓的字段校验就是字段优先,字段校验是我去校验谁,我用谁来去校验;而非字段校验器是我用谁来校验,我去校验谁。
三、把sttuts2的字段校验修改成非字段校验,在RegisterAction-validate.xml中实现(去掉form表单中的onsubmit的方法):
注意:一般的推荐是用字段的校验,以为这和前面的是一一对应的关系,比较的直观的查看校验信息,同时这两种校验形式是可共用的,但两者不推荐混着用。
功能:field-validator有一个属性short-circuit,表示短路的意思,表示如果当前的验证错误了,后面的验证就不会进行验证了。
struts2同样支持客户端的验证:
1、form的主题(theme)一定不能设为simple
一、修改register2.jsp中表单的主题( 去掉 theme="simple"):
<s:form action="register">
2、将form的validate属性设置为true:
<s:form action="register" validate="true">
最好不要使用struts2给我们提供的客户端校验方法。
二、struts2的客户端校验,用自定义的js代码实现,修改register2.jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'register2.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function validate(){ var usernameValue = document.getElementById("usernameId").value; var passwordValue = document.getElementById("passwordId").value; var repasswordValue = document.getElementById("repasswordId").value; if(usernameValue.length == 0){ alert("username should not be blank!"); return false; } else if(usernameValue.length < 6 || usernameValue.length > 10){ alert("length of username should be between 6 and 10!"); return false; } if(passwordValue.length == 0){ alert("password should not be blank!"); return false; } else if(passwordValue.length < 6 || passwordValue.length > 10){ alert("length of password should be between 6 and 10!"); return false; } if(repasswordValue.length == 0){ alert("repassword should not be blank!"); return false; } else if(repasswordValue.length < 6 || repasswordValue.length > 10){ alert("length of repassword should be between 6 and 10!"); return false; } if(passwordValue != repasswordValue){ alert("password and repassword should be same!"); return false; } return true; } </script> </head> <body> <table align="center" width="40%"> <tr> <td> <s:fielderror cssStyle="color:red"/> </td> </tr> </table> <s:form action="register" theme="simple" onsubmit="return validate();"> <table align="center" width="40%" border="1"> <tr> <td>username </td> <td> <s:textfield name="username" label="username" id="usernameId"></s:textfield> </td> </tr> <tr><td>password</td> <td> <s:password name="password" label="password" id="passwordId"></s:password> </td> </tr> <tr><td>repassword</td> <td> <s:password name="repassword" label="repassword" id="repasswordId"></s:password> </td> </tr> <tr><td>age</td> <td> <s:textfield name="age" label="age"></s:textfield> </td> </tr> <tr><td>birthday</td> <td> <s:textfield name="birthday" label="birthday"></s:textfield> </td> </tr> <tr><td>graduation</td> <td> <s:textfield name="graduation" label="graduation"></s:textfield> </td> </tr> <tr><td><s:submit value=" submit "></s:submit></td> <td> <s:reset value=" reset "></s:reset> </td> </tr> </table> </s:form> </body> </html>
说明:struts2的校验分为字段校验和非字段校验,之前是使用的字段校验,字段校验与非字段检验最根本的区别:所谓的字段校验就是字段优先,字段校验是我去校验谁,我用谁来去校验;而非字段校验器是我用谁来校验,我去校验谁。
三、把sttuts2的字段校验修改成非字段校验,在RegisterAction-validate.xml中实现(去掉form表单中的onsubmit的方法):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators > <validator type="requiredstring"> <param name="fieldName">username</param> <message>username should not be blank!!!</message> </validator> <validator type="stringlength"> <param name="fieldName">username</param> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message> </validator> <!-- struts2的自动校验 <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be blank!!!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="password"> <field-validator type="requiredstring"> <message>password should not be blank!!!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>password should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="repassword"> <field-validator type="requiredstring"> <message>repassword should not be blank!!!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>repassword should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="age"> <field-validator type="required"> <message>age should not be blank!!!</message> </field-validator> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>age should be between ${min} and ${max}</message> </field-validator> </field> <field name="birthday"> <field-validator type="required"> <message>birthday should not be blank!!!</message> </field-validator> <field-validator type="date"> <param name="min">2001-01-01</param> <param name="max">2003-12-31</param> <message>birthday should be between ${min} and ${max}</message> </field-validator> </field> <field name="graduation"> <field-validator type="required"> <message>graduation should be not blank!!!</message> </field-validator> <field-validator type="date"> <param name="min">2005-01-01</param> <param name="max">2007-12-31</param> <message>graduation should be between ${min} and ${max}</message> </field-validator> </field> --> </validators>
注意:一般的推荐是用字段的校验,以为这和前面的是一一对应的关系,比较的直观的查看校验信息,同时这两种校验形式是可共用的,但两者不推荐混着用。
功能:field-validator有一个属性short-circuit,表示短路的意思,表示如果当前的验证错误了,后面的验证就不会进行验证了。
- struts2.rar (3.2 MB)
- 下载次数: 12
发表评论
-
struts2学习笔记十九(第19讲.Struts2深入探索 续)
2013-01-31 01:26 829Struts2应用开发详解 第十九讲 Struts2 深入 ... -
struts2学习笔记十八(第18讲.Struts2深入探索)
2013-01-26 00:23 8301、在src目录下创建属性文件名struts.propert ... -
struts2学习笔记十七(第17讲.Struts2的国际化续)
2012-06-01 00:46 1262struts2的国际化: 1.页面的国际化,也就是jsp的国际 ... -
struts2学习笔记十六(第16讲.Struts2的国际化)
2012-05-24 23:35 854struts2学习笔记十六(第16讲.Struts2的国际化) ... -
struts2学习笔记十五(第15讲.Struts2的文件上传和下载续三)
2011-02-11 16:56 947Struts2的文件上传和下载续三 功能:用户可以自定义上传文 ... -
struts2学习笔记十四(第14讲.Struts2的文件上传和下载续二)
2011-01-21 16:00 1371Struts2的文件上传和下载续二 说明:使用struts2的 ... -
struts2学习笔记十三(第13讲.Struts2的文件上传和下载续)
2011-01-19 18:04 987Struts2的文件上传和下载续 接上面未完成的功能。 一、首 ... -
struts2学习笔记十二(第12讲.Struts2的文件上传和下载)
2011-01-18 14:57 1352Struts2的文件上传和下载 ... -
struts2学习笔记十一(第11讲.Struts2的核心 拦截器续)
2011-01-14 16:33 1054Struts2的核心 拦截器续 说明:拦截器的主要作用就是拦截 ... -
struts2学习笔记十(第10讲.Struts2的核心 拦截器)
2011-01-13 17:47 1003Struts2的核心 拦截器 一、修改RegisterAct ... -
struts2学习笔记八(第8讲.Struts2的校验框架)
2011-01-12 15:44 959第8讲.Struts2的校验框架 之前的验证方式是stru ... -
struts2学习笔记七(第7讲.Struts2的输入校验续二)
2011-01-11 18:07 1085Struts2的输入校验续二 主要介绍addActionErr ... -
struts2学习笔记六(第6讲.Struts2的输入校验续一)
2011-01-10 14:32 1260Struts2的输入校验续一 说明: 遇到类型转换错误的时候 ... -
struts2学习笔记五(第5讲.Struts2的输入校验)
2011-01-07 18:36 1071Struts2的输入校验 数据校验是建立在类型转换的基础之上的 ... -
struts2学习笔记四(第4讲.Struts2的类型转换续)
2011-01-06 23:25 1066struts2中的局部类型转换 新的需求:用户需要同时增加三 ... -
struts2学习笔记三(第3讲.Struts2的类型转换)
2011-01-05 17:31 1094struts2中的局部类型转换 其中一个主要的就是使用逗号将 ... -
struts2学习笔记二(第2讲.Struts2入门与配置续)
2011-01-05 16:36 965接上面未完成的功能:判断输入的用户名和密码是否正确。 一、创建 ... -
struts2学习笔记一(第1讲.Struts2入门与配置)
2011-01-05 00:12 1404struts2学习笔记一(第1讲.Struts2入门与配置) ...
相关推荐
本讲主要探讨Struts2的校验框架,它提供了对用户输入数据进行验证的功能,确保数据的有效性和安全性。 在传统的MVC模式中,数据验证通常在控制器或模型层进行,但在Struts2中,校验逻辑被移到了专门的校验框架中,...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
在第六讲中,我们将深入探讨Struts2的输入验证机制,这是确保应用程序数据安全性和正确性的重要环节。Struts2的输入验证可以分为客户端验证和服务器端验证,两者都有其优点和适用场景。 首先,客户端验证通常使用...
在Struts2的学习过程中,第五讲主要探讨的是输入验证,这是确保应用程序数据安全和准确性的关键步骤。输入验证通常发生在客户端和服务器端,防止恶意数据的提交,并确保用户输入的数据符合预设的格式和规则。 首先...
本学习笔记主要探讨了Struts2中的校验器(Validator)和校验框架,帮助开发者理解如何有效地实现数据验证,确保应用程序的健壮性。 首先,我们来看Struts2的校验框架。这个框架提供了强大的功能,可以对用户输入...
在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,提供了丰富的功能和灵活性。下面将详细讲解Struts2的一些核心知识点。 **一.Struts2核心文件:struts.xml配置** Struts2的...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
通过传智播客的struts2框架2016版day01课程,你可以系统地掌握Struts2的基础知识,为后续的深入学习和项目开发打下坚实的基础。同时,结合笔记和思路图,可以更好地理解和吸收所学内容,提升学习效率。在实际编程中...
- **lib**: 包含 Struts2 框架的核心库和第三方插件库。 - **src**: 包含 Struts2 框架的全部源代码。 #### 五、深入理解 Struts2 - **灵活度**: - Struts2 的知识点虽然分散,但其灵活性和扩展性非常强。 - **...
本篇超详细学习笔记将带你逐步深入理解Struts2的核心概念和运作机制。 首先,让我们了解Struts2的基本特性。Struts2是一个基于Servlet的框架,它通过将JSP作为视图(View),Servlet作为控制器(Controller),并将...
Struts2是一个强大的MVC框架,它在Java Web开发中被广泛应用。相比于它的前身Struts1.x,Struts2提供了一系列改进和增强的功能。在本文中,我们将深入探讨Struts2的核心组件——Action,以及如何配置和使用它来构建...
这个"Struts2_学习笔记"包含了关于Struts2框架的深入学习资料,是理解并掌握Struts2核心概念和技术的关键。 Struts2的核心设计理念是模型-视图-控制器(MVC)架构模式,它简化了Java Web开发,将业务逻辑、数据展示...
### Struts2.1框架深度解析与学习指南 #### 搭建Struts2.1环境 Struts2是Apache组织开发的一个开源Web框架,它继承了Struts1的优良特性,同时在很多方面进行了改进,使其更加轻量级、灵活、强大。Struts2.1版本相...