`
梦想家dream
  • 浏览: 63226 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

struts2从零开始(五)

 
阅读更多
     知识点: struts2中的输入校验
              1、action继承ActionSupport 复写validate方法,但是这样子在页面上调用action中的任何一个方法都会调用该validate方法,所以不推荐
              2、同样是action继承ActionSupport 但是不复写validate方法,直接写一个页面上所要调用的方法的校验方法  validateXxx方法。
              3、资源文件配置方式实现校验


               1、1action中的代码如下:
                      
 @Override
    public void validate() {
    	if(users.getUname()==null||users.getUname().length()<3||users.getUname().length()>15){
    		this.addFieldError("users.uname", "密码长度必须在3-15");	
    	}
    	super.validate();
    }

   
            1.2自定义校验方法的代码如下:
             
 public void validateExecute() {
    	if(users.getUname()==null||users.getUname().length()<3||users.getUname().length()>15){
    		this.addFieldError("users.uname", "密码长度必须在3-15");	
    	}
	   
      }
    

         
        1.3、局部资源文件(利用配置资源文件完成校验)
              1.3.1、在web下面新建一个RegisterAction-validation.xml文件,这里用来配置需要校验的字段信息(代码如下)
      
<?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>
  	<field name="users.uname">
  		<field-validator type="requiredstring" short-circuit="true">
  			<param name="trim">true</param>
  			<message>用户名不能为空</message>
  		</field-validator>
  		<field-validator type="stringlength">
  			<param name="minLength">3</param>
  			<param name="maxLength">15</param>
  			<message>用户名必须在${minLength}-${maxLength}之间</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.upass">
  		<field-validator type="requiredstring" short-circuit="true">
  			<param name="trim">true</param>
  			<message>密码不能为空</message>
  		</field-validator>
  		<field-validator type="stringlength">
  			<param name="minLength">6</param>
  			<param name="maxLength">15</param>
  			<message>密码必须在${minLength}-${maxLength}之间</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.reupass">
  		<field-validator type="fieldexpression">
  			<param name="expression">users.upass==users.reupass</param>
  			<message>两次密码不一致</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.age">
  		<field-validator type="required" short-circuit="true">
  			<message>年龄不能为空</message>
  		</field-validator>
  		<field-validator type="int">
  			<param name="min">1</param>
  			<param name="max">150</param>
  			<message>年龄应该在${min}-${max}之间</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.birthday">
  		<field-validator type="required" short-circuit="true">
  			<message>生日不能为空</message>
  		</field-validator>
  		<field-validator type="date">
  			<param name="min">1900-01-01</param>
  			<param name="max">2050-01-01</param>
  			<message>生日应该在${min}-${max}之间</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.graduation">
  		<field-validator type="required" short-circuit="true">
  			<message>毕业时间不能为空</message>
  		</field-validator>
  		<field-validator type="fieldexpression">
  			<param name="expression">users.birthday&lt;users.graduation</param>
  			<message>毕业时间应该大于生日</message>
  		</field-validator>
  	</field>
  	
  	<field name="users.email">
  		<field-validator type="requiredstring" short-circuit="true">
  			<param name="trim">true</param>
  			<message>邮箱必填</message>
  		</field-validator>
  		<field-validator type="email">
  			<message key="invalid.email"></message>
  		</field-validator>
  	</field>
  </validators>


     1.3.2、目录结构(比较重要的是局部资源文件的命名模式)
     

     
     1.3.3、局部资源文件中的类容
     




    值得注意的是:1、struts2的配置文件相当多,所以它的命名规则需要遵守,最好的学习方式就是模仿。
                  2、利用框架实现输入校验能完成一些js校验所不能完成的事情,但是也不能滥用,否则会增加服务器的压力。合理的做法是前台验证和后台验证相结合。
        
           源码下载请点这里:
            
  • 大小: 19 KB
  • 大小: 18.6 KB
  • 大小: 17.7 KB
分享到:
评论

相关推荐

    struts2从零开始(一)

    NULL 博文链接:https://1136051009.iteye.com/blog/1768000

    struts2从零开始(六)

    Struts2从零开始系列教程旨在帮助初学者深入理解并掌握Struts2框架的应用与开发。在第六部分中,我们将探讨Struts2的核心概念、工作原理以及如何在实际项目中运用它。Struts2是一个流行的Java Web应用框架,用于构建...

    struts2从零开始(七)

    本教程将带你从零开始学习Struts2,通过第七个部分的内容,我们将深入理解其核心概念和实际应用。 首先,让我们探讨Struts2的基础知识。Struts2是Apache软件基金会的产品,它是基于Struts1的升级版,引入了更多现代...

    struts2从零开始(三)

    在"Struts2从零开始(三)"这个主题中,我们将会深入探讨Struts2的核心概念和实际应用,逐步了解如何使用Struts2来构建一个Web应用程序。 1. **MVC设计模式**:Struts2遵循Model-View-Controller(MVC)设计模式,...

    struts2从零开始(四)

    本教程将从零开始,帮助你深入理解并掌握Struts2的核心概念和实践技巧。 首先,我们要理解Struts2的核心架构。Struts2通过拦截器(Interceptor)机制实现了请求处理流程的控制,它允许开发者插入自定义的逻辑来扩展...

    struts2从零开始(二)

    在“Struts2从零开始(二)”这个主题中,我们将会深入探讨Struts2的核心概念和实践操作,以帮助初学者更好地理解和掌握这个框架。 首先,Struts2的核心在于它的Action类,它是业务逻辑处理的主要组件。Action类...

    Struts 从零开始

    这个"Struts 从零开始"的压缩包显然是为初学者提供的一套学习资源,包含了六个基础练习工程,帮助理解并实践 Struts 框架的关键概念和功能。 首先,让我们深入了解一下 Struts 框架的核心组件和原理: 1. **控制器...

    简述STRUTS2_Convention零配置

    从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需手动配置。 Convention插件的工作原理是基于“约定优于配置”(Convention over Configuration)的原则,它会自动识别...

    struts2零配置个人整理文档

    ### Struts2零配置个人整理文档 #### 一、Convention插件详解 ##### 1. 设置结果页面路径 - **背景介绍**:Struts2框架提供了便捷的方式来处理Web请求,并返回响应视图。为了简化配置过程,Struts2提供了一个名为...

    如何使用struts2的零配置插件convention

    从Struts2.1版本开始,`Codebehind`插件被`Convetion`插件取代,以提供更全面的零配置支持。`Convetion`插件通过自动扫描和推理应用程序中的类和方法来配置Action和结果映射,不需要开发者显式地在`struts.xml`或...

    struts2资源包

    使用这个“struts2资源包”,开发者可以快速搭建一个基于Struts2的Web应用,无需从零开始配置所有的依赖。通过导入这些库,你可以实现动作类的定义、拦截器的设置、结果页面的跳转、表单验证、国际化、文件上传下载...

    从零开始创建基于struts1.2 + Hibernate3.0的Web工程

    2. 例子工程说明..........................................................3 3. 建立工程..............................................................4 3.1. 创建新的Web Project ..........................

    使用Struts2和jQuery EasyUI实现简单CRUD系统

    在本文中,我们将探讨如何使用Struts2和jQuery EasyUI框架创建一个简单的CRUD(创建、读取、更新、删除)系统。首先,我们需要理解这两个技术的基础概念。 Struts2是一个基于MVC(Model-View-Controller)架构的...

    struts2零配置入门代码

    在“struts2零配置入门代码”这个主题中,我们将深入探讨如何在不编写大量XML配置文件的情况下,启动并运行一个基本的Struts2应用程序。 Struts2的核心在于它的Action类,它是业务逻辑处理的主要组件。在“零配置”...

    Struts2权威指南完整版

    12. **实战案例**:通过实际项目示例,展示如何从零开始构建一个完整的Struts2应用,涵盖需求分析、设计、编码和测试的全过程。 通过阅读《Struts2权威指南》,开发者不仅可以掌握Struts2框架的使用,还能深入理解...

    struts2参考文档(word版)

    最后,文档可能包含了一些实战示例,引导读者从零开始搭建一个完整的Struts2项目,通过实际操作加深对理论知识的理解。 总的来说,这份Struts2参考文档全面覆盖了Struts2框架的主要概念和技术,对于想要学习或已经...

    轻松入门之struts2 3.0版

    10. **实战项目**:通过一个实际的小型项目,展示如何从零开始搭建一个基于Struts2 3.0的应用,涵盖了上述所有知识点的综合运用。 通过阅读“轻松入门之Struts2 3.0版”,开发者不仅能掌握Struts2的基本用法,还能...

    ajax与Struts2交互实例

    使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Struts2的交互开始。

Global site tag (gtag.js) - Google Analytics