`
lovehui0228
  • 浏览: 101373 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2的验证框架配置

阅读更多

花了好长时间,终于弄好了,在此鄙视形形色色乱七八糟的各式论坛,一搜文章一大堆,没几篇原创的,都是转过来转过去,而且很多步骤都不说清楚的,超级鄙视~~~


关于为什么要用后台验证也没有必要多说,就是前台的javascript验证会被各种有意或无意的方法禁用,直接提交错误数据,后台不加验证的话很杯具,感觉验证框架像是个不错的东西,至少从理念上来说,就是配置起来有那么点麻烦,记录一下大概的步骤好了~~~


1.首先项目上右键,选择MyEclipse -> Add Struts Capbilities ->Finish,然后WebRoot下的WEB-INF文件夹里就会多出一些配置文件,有两个需要用到:struts-config.xml和validator-rules.xml,还需要建一个validation.xml,一共三个配置文件(导入之后可能会报错,在容器的该项目lib文件夹下添加相应的包就可以)。

 

第一个struts-config.xml顾名思义,就是设定一些struts的配置,具体我也弄不清楚,需要加上一段代码,用以启动验证需要的插件:

 

<message-resources parameter="MessageResources" /> 
  	
  	<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> 
   		<set-property 
   			property="pathnames" 
   			value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /> 
    </plug-in> 

 

 

第二个struts-config.xml不用去管,默认就可以,反正我是没有修改;

 

至于第三个validation.xml,是验证的一些规则,我直接网上Copy的,应该可以自添加验证规则,代码如下: 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
<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="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"/>
</validators>

 
2.最基本的配置就是这样,接下来说下我所理解的验证框架的原理:类似于一个拦截器,在Action调用之前执行,如果验证成功执行action,不成功的话执行action中的validate方法,validate方法需要自定义,所以需要验证的Action就需要继承ActionSupport类,而不只是实现Action接口,这是N多文章都忽略了的,害我好苦啊。验证失败后返回一个INPUT字符串,将错误消息记录,可以返回给页面;验证成功则继续执行Action~~~

 

大致我理解就这样,说下怎么实现吧:

 

首先每一个验证文件都有特定的命名格式,如果要验证RegisterAction的话,特定的验证格式就是RegisterAction-validation.xml,贴下我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC 
	"-//OpenSymphonyGroup//XWorkValidator1.0.2//EN" 
	"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

	<validators>  
    	<field name="register.user_id"> 
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>
    	
    	<field name="register.password">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>      
    	
    	<field name="register.pwd_repeat">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field> 
    	
    	<field name="register.problem_content">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>      
    	
    	<field name="register.answer">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>      
    	
    	<field name="register.nickname">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>      
    	
    	<field name="register.phone">   
        	<field-validator type="requiredstring">   
            	<message>请输入信息</message>   
        	</field-validator>   
    	</field>      
    	
    	<field name="register.email">   
        	<field-validator type="email">   
            	<message>请输入正确的邮箱地址</message>                        
        	</field-validator>   
    	</field>          
    	
	</validators>      
	

 

这个验证文件和Action是绑定的,name中的需要在Action有对应的对象,type选取用什么规则来验证name中传入的值,message显示错误信息,可以返回给页面~~~

 

基本上也就这么多吧,其实看也不复杂,就是当时被整的很头晕,配置环境真的是很痛苦的事情

 

0
0
分享到:
评论

相关推荐

    struts2验证框架示例

    在提供的“struts2验证框架例子”中,你可能会看到类似的代码结构和配置,通过实践这些示例,你可以更好地理解如何在实际项目中应用Struts2的验证框架。同时,它也将帮助你学习如何处理常见的验证场景,如非空检查、...

    struts2验证框架简单示例

    在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...

    struts2验证框架简单实例

    在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...

    Struts验证框架配置详解

    首先,Struts验证框架的配置涉及到两个关键的JAR包:`struts2-core.jar` 和 `struts2-validation-plugin.jar`。`struts2-core.jar` 是Struts2框架的核心库,包含了Struts2的基础功能;而`struts2-validation-plugin....

    struts7验证框架 struts7验证框架

    Struts7验证框架是用于Java Web开发中的一个关键组件,主要负责处理用户输入数据的验证。这个框架在学习和实际项目开发中具有广泛的应用,因为它能够有效地提高代码的可维护性和减少开发工作量。 传统的Struts框架...

    struts1验证框架相当好的经典例子

    通过以上步骤,我们就配置好了Struts1的验证框架,并对用户输入进行了有效的校验。当用户提交表单时,Struts1会根据`validation.xml`中的规则进行验证,如果失败,将跳转到错误页面显示相应的错误消息。如果验证成功...

    struts2 验证框架

    Struts2的验证框架是基于Action类和XML配置文件的,可以有效防止非法数据进入数据库,提升应用程序的安全性和用户体验。 在Struts2中,验证主要分为两个层次:字段级验证和对象级验证。字段级验证针对单个表单字段...

    struts2验证框架

    本文将详细介绍Struts2验证框架的基本原理、配置方法以及如何使用它进行客户端和服务端的验证。 #### 二、Struts2验证框架概述 Struts2框架内置了一套灵活且强大的验证机制,能够支持多种类型的验证规则,包括但不...

    Struts2 验证框架

    验证框架是Struts2中的一个重要组成部分,用于处理用户输入的数据验证。在这个框架中,验证逻辑与业务逻辑分离,使得代码更易于管理和扩展。 在Struts2验证框架中,主要有两种验证方式:客户端验证和服务器端验证。...

    struts2验证框架的使用和扩展

    在Struts2中,验证框架是其核心特性之一,它负责确保用户输入的数据符合预定义的规则,从而保证数据的准确性和安全性。本文将深入探讨Struts2验证框架的使用和扩展。 1. **Struts2验证框架基础** - **Action与...

    Struts的验证框架Validate使用[2]

    虽然Struts 2不再依赖于单独的验证框架,但提供了类似的机制——基于拦截器的Validation Interceptor。不过,其工作原理和配置方式与Struts 1.x有所不同。 总的来说,Struts的验证框架Validate是提高应用质量的...

    Struts1.x的验证框架示例

    2. **配置验证框架** 验证框架的配置通常在`struts-config.xml`文件中完成。你需要定义一个或多个`action-mappings`,并为每个映射指定一个对应的验证配置文件(通常是`.validate`文件),如`loginAction-validate....

    Struts2校验框架应用

    本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、以及如何在实际项目中实现数据验证。 **1. Struts2校验框架基础** Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义校验...

    struts-验证框架

    `validator-rules.xml` 文件是Struts验证框架的配置文件,它定义了各个表单字段的验证规则。在这个文件中,开发者可以为每个ActionForm类的字段指定验证规则,例如规定字段非空、长度限制、格式校验(如邮箱或电话...

    Struts2极速表单验证框架(注解)

    Struts2的验证框架主要有两种方式:XML配置和注解配置。本篇重点介绍注解方式。注解方法允许开发者在Action类的属性上直接定义验证规则,减少了XML配置文件的繁琐工作。 ### 3. 注解基础 - `@Validated`:这个注解...

    struts2框架2016版资料day01

    这个"struts2框架2016版资料day01"涵盖了Struts2的基础知识,包括框架的基本架构、核心概念和初步配置。传智播客作为知名的IT教育机构,其课程内容通常严谨且实用,适合初学者快速入门。 1. **Struts2框架概述**:...

    Struts的验证框架Validate使用[1]

    总之,Struts的验证框架Validate是一个强大的工具,通过XML配置和Java代码分离,实现了数据验证的灵活性和可维护性。它简化了Web应用中的数据验证过程,使得开发者能够更专注于业务逻辑,而不是繁琐的验证代码。

    struts 2.0 验证框架

    其中,验证框架是Struts 2的重要组成部分,用于确保输入数据的准确性和完整性,防止非法数据进入系统。现在我们来详细探讨这个验证框架的使用和配置。 1. **验证框架的作用** Struts 2的验证框架允许开发者定义...

    SSH框架整合中struts2框架所需要的配置文件

    在SSH框架整合中,每个框架都有其特定的配置文件,而Struts2作为控制层的核心,其配置文件`struts.xml`尤其关键。 `struts.xml`是Struts2框架的核心配置文件,它定义了应用程序的行为,包括Action的映射、结果的...

Global site tag (gtag.js) - Google Analytics