- 浏览: 7189126 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (397)
- 架构研究 (44)
- 网络协议-TCP/HTTP (20)
- SPRING (23)
- HIBERNATE 3 (30)
- STRUTS 2 (20)
- Java/J2se (25)
- Servlet/Jsp (9)
- 开发工具IDE (10)
- WEB服务器 (17)
- 前端--Java Script (33)
- 前端--CSS (7)
- OS--Linux (31)
- OS--MAC OS (19)
- MySQL数据库 (19)
- Oracle数据库 (11)
- 项目管理工具 (12)
- 数据报表技术 (4)
- 图像处理技术 (10)
- 其它综合技术 (13)
- 权限管理 (1)
- MyBatis (1)
- 网络安全 (6)
- IO (21)
- PostgreSQL (2)
- Eclipse RCP (1)
- GWT (1)
- 算法 (3)
- Storm (2)
- zookeeper (3)
- 消息 (1)
最新评论
-
bukebuhao:
已解决,打开文件太多。ulimit -n 上次临时生效后再次s ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
bukebuhao:
ds重启后启动不了。报错信息如下,请大神帮助[2018-08- ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
墨上清:
感谢,看完有了一个完整的知识网络。
Spring MVC 教程,快速入门,深入分析 -
云卷云舒灬:
谢谢,学到很多
Spring MVC 教程,快速入门,深入分析 -
luozhy:
非常感谢非常感谢
Project Web Access ActiveX控件 安装
一 文件名约定:
1) 验证XML的文件名: Action类名-validation.xml , 并与相关的Action类放在一起.
2) 当一个Action中有多个业务方法时 : Action 类 名-映射名-validation.xml
什么是映射名:<action name="login".../> ,name属性的值:login就是映射名, 千万注意,很多人写错
例子:
URL是:http://localhost/struts/user_addUser. action
struts.xml是:
<action name="user_*" class="ssh.org.web.UserAction" method="{1}"> <result name="success">/user/success.jsp</result> <result name="input">/user/user.jsp</result> </action>
匹配后<action name="user_*".../> 实为<action name="user_addUser" .../>
所以验证框架XML文件名是: UserAction-user_addUser -validation.xml
二 验证不通过时, 会执行addFieldError ()方法, 在JSP页面, 要用 <s:fielderror />显示信息.
关于addFieldError,请看第6讲:6 addActionError与addFieldError
三 例子
Registration-validation.xml : 用于校验Registration.java类
<?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> --> 字段校验器--> <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 not be 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>
四 Struts2内建的 校验器有:
<validators> <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> </validators>
评论
1 楼
hanjiangit
2009-11-10
方法级别的action一定要到struts.xml文件里映射后才可以 UserAction-user_addUser -validation.xml 这样写效验文件吗
发表评论
-
Struts2 通过"流"下载文件时显示中文文件名
2010-04-10 22:47 5836Struts2 通过"流"下载文件时对结果 ... -
JSONplugin 下载
2009-03-29 10:44 5527地址是: http://code.google.com/p/j ... -
如何在log4j中设置属性把struts2的debug信息去掉
2009-03-28 19:23 12097struts2 在发开时,控制台如输出大量信息,太烦人了 ... -
由Spring管理的Struts2的Action的全程安全问题
2009-03-28 18:57 17300Struts2的Action的线程安全 ... -
Struts2通用的Action配置
2009-03-28 14:03 3611struts.xml 配置一个<action/> ... -
Struts 2中的OGNL
2009-03-28 11:29 2221转自: http://www.blogjava.net/max ... -
常用的Struts 2.0的标志(Tag)介绍
2009-03-28 11:26 1840转自:http://www.blogjava.net/max/ ... -
struts2开发注意事项
2009-03-28 10:30 2582我有一个index.jsp , 是全部的首页, 内容如下 : ... -
12 struts2拦截器
2009-03-19 11:47 2804自己写拦截器, 要认识下面接口 与 类 com.op ... -
11 动态代理的例子
2009-03-18 18:15 1773结构如下 : package com.client ... -
10 一个通用的跳入jsp视图的方法
2009-03-17 12:15 2141后注: 以有新的解决方法,请见 Struts2通用的Actio ... -
9 动态调用Action与Action中方法(二)
2009-03-17 12:02 2318其实有 8 动态调用Action与Action中方法(一) ... -
8 动态调用Action与Action中方法(一)
2009-03-17 11:03 3992Struts1 提供了DispatchAction 实现一个A ... -
6 addActionError与addFieldError
2009-03-17 09:21 6688前面的第5讲中用到了addFieldError, 所以这里就 ... -
5 Struts2输入校验(一)----validate方法-validateXxx方法
2009-03-08 16:32 10074这是一种编码校验的方 ... -
4 Struts2类型转换(二)----集合类型
2009-03-08 14:32 2349情况一 : HTML复选框 与 List<Stri ... -
3 Struts2类型转换(一)----常规类型,自定义类型,错误处理
2009-03-08 11:30 5949Struts2的类型转换是基于OGNL表达式的.有良好的扩展性 ... -
2 Struts2的优点与Struts1的区别:
2009-02-28 08:52 4855单实例与多实例有状 ... -
1 struts2标签的定义文件 struts-tags.tld
2008-08-10 15:59 10691在工程中使用struts2标签 一、 struts ...
相关推荐
综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。
在Struts2中,输入校验器是一种实现数据验证的组件,它们通过配置在XML文件(如`default.xml`)中来定义,并与Action类的属性关联。`default.xml`文件通常位于`com/opensymphony/xwork2/validator/validators`路径下...
Struts2提供了内置的验证框架,基于XML配置或者注解实现。这个框架允许开发者定义一组规则来检查用户提交的数据,这些规则可以在Action类中应用。 2. **XML输入校验**: - **创建校验文件**:首先,你需要创建一...
在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...
Struts2提供了强大的验证框架,支持多种验证方式,包括基于注解的验证、XML配置的验证以及编程式验证。这些验证规则可以定义在Action类中,或者单独的验证配置文件里。 1. **基于注解的验证** 使用注解是Struts2中...
Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别校验 Action级别校验是在Action类中定义校验逻辑,通常通过在Action类的属性上添加注解实现...
8. **整合其他验证框架**:除了内置的验证功能,Struts2还可以与Hibernate Validator、JSR 303/JSR 349等Java Bean Validation标准进行集成,以利用更丰富的验证约束。 总之,Struts2的校验器是其强大功能的一部分...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
在本文中,我们将深入探讨Struts2的输入校验功能,包括手动输入校验和基于验证框架的输入校验。 ### 一、手动输入校验 1. **普通处理方式**: - 在Action类中,你可以重写`validate()`方法,该方法会在业务逻辑...
Struts2提供了内置的验证框架,允许开发者自定义校验规则,以满足特定业务需求。下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,...
其中,Struts2提供的校验框架是其核心特性之一,能够有效地进行表单验证,并且支持多种验证方式。 #### 二、配置Struts2框架 为了使用Struts2框架,首先需要在项目的`web.xml`文件中配置过滤器。下面的示例展示了...
总的来说,Struts2的输入校验机制既支持代码层面的灵活验证,也提供基于配置的标准化校验,为企业级应用提供了强大的数据验证能力,有助于提高系统的稳定性和用户体验。正确使用这些校验机制,能有效防止因用户输入...
在Struts2的2.3.15.3版本中,集成的验证框架是其核心功能之一,帮助开发者确保用户输入的数据质量和安全性。本篇将详细讲解如何在Struts2中实现一个简单的验证框架模式。 首先,我们需要了解Struts2验证框架的基本...
总结来说,Struts2提供了灵活的输入校验机制,允许开发者通过Action的`validate()`方法或者XML配置文件来定义验证规则。无论选择哪种方式,都能有效地确保从客户端接收的数据符合预期,从而提高了应用的安全性和用户...
总的来说,Struts2的校验框架通过提供灵活的配置和易于扩展的机制,使得Web应用的输入验证变得简单而有效。它可以帮助开发者避免因用户输入不合法而导致的程序错误,提升应用的用户体验,同时增强系统的稳定性和安全...