struts2还支持XML配置文件来验证参数的是否正确
在与Action文件同目录的地方建一个和Action文件同名的XML文件
如RegisterAction类的XML配置文件是RegisterAction-validation.xml
内容如下,开头的DTD可以从Struts2下载的文件的例子里面找
<?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>
<!-- 表示Action里面的username字段 -->
<field name="username">
<!-- 一个验证方法,可以去com.opensymphony.xwork2.validator.validators里面-->
<!--的default.xml里面找到type所以有的类型,每个内型里对应着相应的类,类里面有相应的参数和对参数的get,set方法-->
<!--,参数就是param里面的name值,好像get,set方法就是验证的方法,这个没有看到源码-->
<field-validator type="requiredstring">
<param name="trim">true</param>
<!-- 错误输出信息 -->
<message>username is null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">15</param>
<message>username must between ${minLength} and ${maxLength}</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<!-- <param name="trim">true</param>可以不写 -->
<message>password is null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">15</param>
<message>password must between ${minLength} and ${maxLength}</message>
</field-validator>
</field>
<field name="repassword">
<field-validator type="requiredstring">
<!-- <param name="trim">true</param>可以不写 -->
<message>password is null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">15</param>
<message>password must between ${minLength} and ${maxLength}</message>
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message>age is null</message>
</field-validator>
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>age must between ${min} and ${max}</message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="required">
<message>birthday is null</message>
</field-validator>
<field-validator type="date">
<param name="max">2004-12-31</param>
<param name="min">2000-01-01</param>
<message>birthday must between ${min} and ${max}</message>
</field-validator>
</field>
<field name="graduation">
<field-validator type="required">
<message>graduation is null</message>
</field-validator>
<field-validator type="date">
<param name="min">2005-01-01</param>
<param name="max">2009-12-31</param>
<message>graduation must between ${min} and ${max}</message>
</field-validator>
</field>
</validators>
这个里面验证的错误都是放到fielderror里面的,不是放到actionerror里面的
所以JSP页面使用<s:actionerror/>是不会显示的
要用<s:fielderror></s:fielderror>才会显示
当然如果你的Action extends ActionSupport 并重写了
validate*()方法,同时执行里面的代码,所以一般最好用一种就行了,不然会验证两次。
分享到:
相关推荐
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
本学习笔记主要探讨了Struts2中的校验器(Validator)和校验框架,帮助开发者理解如何有效地实现数据验证,确保应用程序的健壮性。 首先,我们来看Struts2的校验框架。这个框架提供了强大的功能,可以对用户输入...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,提供了丰富的功能和灵活性。下面将详细讲解Struts2的一些核心知识点。 **一.Struts2核心文件:struts.xml配置** Struts2的...
在第九讲中,我们将深入探讨Struts2的校验框架,这是一个非常重要的功能,它有助于确保输入数据的准确性和完整性,防止非法数据导致的系统异常。 在传统的Java web开发中,数据验证通常在服务器端进行,如Servlet或...
- **发展历程**: Struts2 是在 WebWork 框架的基础上发展起来的,因此学习 Struts2 实际上也是学习 WebWork。 #### 二、Struts2 的核心组件分析 **控制器**: - **Servlet VS Filter**: - **Servlet**: - 在内存...
本讲主要探讨Struts2的校验框架,它提供了对用户输入数据进行验证的功能,确保数据的有效性和安全性。 在传统的MVC模式中,数据验证通常在控制器或模型层进行,但在Struts2中,校验逻辑被移到了专门的校验框架中,...
在"【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法"中,我们主要探讨的是如何在Struts2中有效地获取并处理用户提交的数据。以下是对这三种方法的详细解析: ### 1. 使用Action属性 Struts2的核心是...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...
Struts2是一个强大的Java web框架,它为开发者提供了构建MVC(模型-视图-控制器)应用程序的强大工具。在第六讲中,我们将深入探讨Struts2的输入验证机制,这是确保应用程序数据安全性和正确性的重要环节。Struts2的...
在Struts2的学习过程中,第五讲主要探讨的是输入验证,这是确保应用程序数据安全和准确性的关键步骤。输入验证通常发生在客户端和服务器端,防止恶意数据的提交,并确保用户输入的数据符合预设的格式和规则。 首先...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
3. **配置文件**:在day01的学习中,你可能会接触到如何编写struts.xml文件,它是Struts2的主配置文件,用于配置Action、Action的输入输出结果、包(package)等。配置文件中的元素和属性将决定框架如何处理请求和...
5. **强大的表单和验证**:Struts2提供了强大的表单处理和验证功能,可以轻松实现表单数据的封装、校验和回显。 6. **表达式语言(OGNL)**:Struts2使用OGNL(Object-Graph Navigation Language)作为默认的表达式...
- **输入校验**:提供了一套强大的验证机制,可以在表单提交后验证用户输入,确保数据的正确性。 - **上传下载**:支持文件上传和下载功能,简化了处理文件上传的复杂性。 - **拦截器**:通过拦截器链,可以添加...