`
gstarwd
  • 浏览: 1524951 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何在SSH框架中使用Validator框架

阅读更多

关键字: validator

下面将介绍如何在SSH框架中使用Validator框架,Validator框架采用基于xml文件来配置验证规则,它主要依赖两个jar包:commons-validator-1.3.0.jar和oro-2.0.8.jar,要在SSH使用Validator框架,必须把这两个jar包引用进来,其实Struts框架已包含这两个jar包,所以我们不用再单独引入了。
       要在SSH框架中使用Validator,更确切的说是在Struts框架中使用,可以采用插件机制把Validator加入到框架,这需要修改原来的struts-config.xml文件,增加配置ValidatorPlugIn插件,代码如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,
/WEB-INF/validation.xml" />
      <set-property property="stopOnFirstError" value="true" />
 </plug-in>这样当应用启动时,Struts框架就会加载ValidatorPlugIn插件。
validator-rules.xml文件是Validator框架自带的,它定义了一些常有的校验规则,而validation.xml是我们自己定义的,它针对某个应用,内容如下:
   
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>  
 <formset>
    <form name="registerForm">
      <field property="register.username" depends="required">     
        <arg key="register.username" position="0"/>     
      </field>
      <field property="register.password" depends="required,minlength">     
        <arg key="register.password" position="0"/>
        <arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
         <var>
          <var-name>minlength</var-name>
          <var-value>6</var-value>
        </var>    
      </field>
      <field property="register.email" depends="required,email">     
        <arg key="register.email" position="0"/>     
      </field>      
    </form>  
 </formset>
</form-validation>
 

form元素的name属性指定要进行验证的表单,field元素的property属性指定要验证属性,depends定义了验证方式,在这里,我们定义了username属性不能为空,password属性不能为空,并且最小长度不能小于6,email属性必须是合法的邮件地址。定义验证方式之后,我们还必须修改资源文件registermessages.properties,增加以下内容:


# Errors
errors.header=<h3><fontcolor="red">ValidationError</font></h3>Youmustcorrectthefollowingerror(s)beforeproceeding:
errors.required={0}isrequired.
errors.minlength={0}cannotbelessthan{1}characters.
errors.email={0}isaninvalide-mailaddress.这资源文件中{0}对应着<arg key="" position="0"/>,{1}对应着<arg key="" position="1"/>,以此类推,如果有验证错误产生,将用key的值替换{n}
 
此外,我们还要修改struts-config.xml文件,修改内容见粗体:

//把原来的DynaActionForm 改为DynaValidatorForm
<form-beans>
       <form-bean name="registerForm"
           type="org.apache.struts.validator.DynaValidatorForm">
           <form-property name="register" type="test.register.entity.Register" />       
       </form-bean>
    </form-beans>
//把原来的validate="false"改为validate="true"
<action-mappings>
       <action name="registerForm" path="/register" scope="request"
           type="test.register.action.RegisterAction" validate="true"
           input="/register.jsp">
           <forward name="success" path="/registerSuccess.jsp" />
       </action>
    </action-mappings>
修改错误显示的样式,我们在register.jsp中,替换原来<html/errors>为
<logic:messagesPresent>
   <bean:message key="errors.header"/>
   <ul>
   <html:messages id="error">
      <li><bean:write name="error"/></li>
   </html:messages>
   </ul><hr />
</logic:messagesPresent>
注意在页面上加入
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

分享到:
评论

相关推荐

    ssh框架框架使用

    ### SSH框架详解与实践 #### 一、Struts框架概览及优势 ##### 1.1 Struts框架简介 **框架定义**:框架是软件工程领域的一种设计模式,旨在简化软件开发过程,通过封装常见的重复代码,提升开发效率并设立标准化的...

    ssh框架整合jar包

    在`pom.xml`中定义SSH框架及其依赖的版本,Maven会自动下载并管理这些jar包,避免了手动添加和版本冲突的问题。同时,还需要在Web应用的`web.xml`文件中配置Struts2和Spring的监听器、过滤器等,以及在Hibernate的...

    SSH框架常用到的一些工具类整理

    在SSH框架中,我们可能需要对用户的输入进行校验,这时可以利用Apache Commons Lang的`StringUtils`,或者使用Spring的`Validator`接口。 综上所述,SSH框架下的工具类和方法极大地提高了开发效率,它们在处理链接...

    SSH框架使用的所有jar包

    这些jar包的集合,使得开发者可以直接在项目中使用,无需单独下载和配置,极大地简化了项目的初始化过程。然而,理解每个框架的核心原理和它们如何协同工作,对于开发高质量的Java Web应用至关重要。熟悉SSH框架的...

    SSH框架常用jar包

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中经典且广泛使用的三大框架。这些框架各自负责应用程序的不同层面,协同工作以实现高效、灵活和可维护的开发。本压缩包提供了SSH框架常用的核心...

    SSH框架需要的所有jar包

    在Java Web开发中,SSH框架的整合使用通常需要以下jar包: - Struts2相关的jar包:如`struts2-core.jar`、`struts2-convention-plugin.jar`、`struts2-json-plugin.jar`等,用于实现MVC模式和扩展功能。 - ...

    maven搭建SSH框架源码

    在pom.xml文件中,你需要添加SSH框架的依赖。Spring的核心依赖通常包括`spring-core`、`spring-context`、`spring-web`等,Struts2的依赖主要为`struts2-core`,而Hibernate则需要`hibernate-entitymanager`、`...

    ssh框架jar包集合

    在Spring框架中,你需要的jar包可能包括`spring-beans.jar`, `spring-context.jar`, `spring-webmvc.jar`等,这些包分别对应了Spring的不同模块,如bean管理、上下文支持以及Web MVC功能。 2. **Struts2框架**:...

    SSH框架常用包(10个)

    在给定的"SSH框架常用包(10个)"中,这些包可能是SSH框架的库文件,包括Spring的核心库、AOP库、Struts的主库以及Hibernate的相关JAR。例如: 1. `spring-core.jar`:Spring框架的基础库,包含IoC容器和基本的工具类...

    ssh三大框架jar包

    整合SSH框架时,开发者需要配置相应的XML文件,如struts.xml、spring-context.xml和hibernate.cfg.xml,以定义各个框架的配置。此外,还需确保这些jar包已加入到项目的类路径中,以便正确地运行和编译应用程序。 总...

    SSH框架需要的所有jar包(兼容)

    5. **导入与配置**:在项目中使用这些jar包,通常需要将它们添加到项目的类路径中,如果是Maven项目,则需要在pom.xml中配置对应的依赖。同时,还需要对struts2、spring和hibernate进行相应的配置,例如在struts2的...

    基于ssh框架的crm登录注册系统

    这个基于SSH框架的CRM登录注册系统,旨在为学习JavaEE的同学提供一个实践平台,帮助他们理解和掌握SSH框架在实际项目中的应用。 首先,我们来了解一下SSH框架的组成部分: 1. Spring:Spring是一个全面的Java应用...

    ssh框架用到的jar包

    在Java Web应用程序中,SSH框架的使用极大地提高了开发效率和代码的可维护性。下面我们将详细讨论SSH框架用到的jar包及其作用。 1. Spring框架: - spring-core.jar:Spring框架的核心模块,提供IoC(Inversion of...

    JAVA-SSH框架所用到的jar包

    在使用JAVA-SSH框架时,通常需要以下jar包: - Struts2相关的jar包:包括struts2-core、struts2-convention、struts2-json-plugin等,这些jar包提供了Struts2框架的核心功能和扩展支持。 - Spring相关的jar包:如...

    ssh框架的jar

    4. **其他依赖**:在SSH框架中,除了这三个主要框架的JAR文件,还需要一些额外的库,如Apache Commons、Log4j、JDBC驱动等。这些库为SSH框架提供日志记录、通用工具函数、数据库连接等功能。 5. **集成与配置**:将...

    ssh 框架jar包下载大全

    在本压缩包中,你将找到SSH框架所需的全部jar包,这使得你可以快速搭建并运行SSH项目。 首先,我们来详细了解一下SSH框架的各个组成部分: 1. **Spring**:Spring 是一个开源的Java平台,它提供了一个全面的编程和...

    Java_SSH框架案例教程学生用书.pdf

    这种方式有利于学员快速熟悉SSH框架整合以及Ajax和WebService技术的应用,并在实际项目中有效运用。 8. 教育与企业需求的结合:翰子昂实训体系强调与企业需求的紧密结合,通过分析企业对软件人才的实际需求,开发出...

    ssh框架jar包

    在这个压缩包中,包含了SSH2框架整合所需的所有jar包,这些库文件是实现SSH框架功能的关键。 1. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。它负责处理HTTP...

Global site tag (gtag.js) - Google Analytics