校验框架
1.使用struts自带的校验器
validate方法实现校验的原理:
程序执行到Action的时候,先判断有没有validate方法,如果实现了先执行validate,再执行execute.如果没有就直接执行execute
struts框架的校验原理:
程序执行到Action时,但是还没有执行到里面的方法时将其拦截,转而执行校验器,校验器执行完毕后返回继续执行Action
所以要先做两件事:1.配置拦截器(让Action暂停,执行校验部分) 2.配置校验器(通过配置文件找到对应的校验器以实现校验器功能)
校验器分为:字段校验器(field-specific FieldValidator),普通校验器(PlainValidator)
非字段校验器(Non-Field Validator)可以配置字段校验器和普通校验器
字段校验方式只能配置字段校验器
给Action的字段配置校验器,比如LogginAction.java里有属性username和password,配置文件LogginAction-validation.xml里对两个字段
进行配置:
<validators>
#字段方式
<field name="username">
<field-validator type="requiredstring">
<message>no null</message>
</field-validator>
</field>
#非字段方式
<validator>
<validator type="requiredstring">
#param在申明变通校验器的时候不是必须的,因为普通校验器只返回actionerror(Action级错误)
<param name="fieldName">passeword</param>
<message>password empty.</message>
<validator/>
</validator>
</vaildators>
struts提供的校验器有:
- required
- requirestring
- int
- date
- expression #普通校验器,只能在字段校验方式下使用
- fieldexpression
- email
- url
- visitor
- conversion
- stringlength
- reqex
visistor ,short-circuiting validator可在字段和非字段方式下使用
断路校验器的使用:
非字段校验方式:
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">age</param>
<message>not null</messgae>
</vlidator>
字段校验方式:
<field name="confirm">
<field-validator type="requiredstring" short-circuit="true">
<param name="expression">(password==confirm)</param>
<message><![CDATA[confirm must be the same as the the password....]]></message>
</field-validator>
</field>
自定义校验器
一旦创建了 validators.xml struts.xml不用自动装载default.xml
validators.xml
<?xml version="1.0" encoding="UTF-8"?>
<xml-body>
<validators>
<validator name="strandum" class="example.StrNumFeildValidator" />
<validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidators"
/>
</validators>
</xml-body>
由sturts.xml转到自定义的校验器处进行校验处理
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml" />
<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default">
<action name="HelloWorld" class="example.HelloWorld">
<interceptor-ref name="validationWorkflowStack"><!--open the vali option-->
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>
所以在自定义的校验器里可以直接配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Opensymphony Group//XWork Validators 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="Password">
<field-validator type="strandnum">
<message>no null</message>
</field-validator>
</field>
<validator>
<validator type="username">
<param name="fieldName">passeword</param>
<message>password empty.</message>
<validator/>
</validator>
</vaildators>
分享到:
相关推荐
Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
其中,Struts2提供的校验框架是其核心特性之一,能够有效地进行表单验证,并且支持多种验证方式。 #### 二、配置Struts2框架 为了使用Struts2框架,首先需要在项目的`web.xml`文件中配置过滤器。下面的示例展示了...
在Struts2中,验证框架是其核心特性之一,它允许开发者对用户输入的数据进行校验,确保数据的完整性和安全性。这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下...
在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
Struts2的校验框架基于Apache Commons Validator,提供了多种预定义的验证器类型以及自定义验证器的功能。这些验证器可以在配置文件中或代码中定义,用于检查表单字段的有效性。 #### 三、示例分析 ##### 1. 配置...
Struts2的验证框架主要负责在用户提交表单时,对输入数据进行检查。它通过定义验证规则,如非空、长度限制、格式验证等,来防止无效或恶意的数据进入系统。验证框架可以减少后端业务逻辑中的验证代码,提高代码的...
Struts2验证框架是Java开发中的一个关键组件,主要用于处理Web应用中的用户输入验证。它提供了灵活且强大的机制,确保用户提交的数据符合预期格式和业务规则。Struts2的验证框架是基于Action类和XML配置文件的,可以...
验证框架是Struts2中的一个重要组成部分,用于处理用户输入的数据验证。在这个框架中,验证逻辑与业务逻辑分离,使得代码更易于管理和扩展。 在Struts2验证框架中,主要有两种验证方式:客户端验证和服务器端验证。...
在Struts2中,验证框架是其核心特性之一,它负责确保用户输入的数据符合预定义的规则,从而保证数据的准确性和安全性。本文将深入探讨Struts2验证框架的使用和扩展。 1. **Struts2验证框架基础** - **Action与...
Struts2提供了内置的验证框架,允许开发者自定义校验规则,以满足特定业务需求。下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,...
2、用户名只能使用数字或者字母,长度为6~20之间; 3、密码、确认密码必须是数字和字母,长度为6~20之间; 4、密码、确认密码必须相同; 5、收入必须在0.001~10000.000之间; 6、年龄必须是整数且必须在0~120...