`
Supanccy2013
  • 浏览: 222888 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2校验之手动校验

阅读更多
   简单实用方法:在相应的处理逻辑方法xxx前面加上validate即可,如add方法的校验方法名称为validateAdd。
   执行顺序,在执行validateAdd--->validate--->add
实例:
1,Action
package com.supan.action;
import com.opensymphony.xwork2.ActionSupport;
public class ValidatorAction extends ActionSupport {
	private String name;
    private int    age;
    private String address;
    public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Override
    public void validate() {
    	System.out.println("validator 方法的打印结果");
    	super.validate();
    }
    @Override
    public String execute() throws Exception {
    	// TODO Auto-generated method stub
    	return super.execute();
    }
    //此校验方法早于validate方法执行
    public void validateAdd(){
    	System.out.println("这个是验证add方法的");
    	if(!getName().contains("陈超阳")){
    		addFieldError("用户名", "用户名中必须包含陈超阳三个字");
    		addActionError("姓名填写不符合要求");
    	}
    	if(getAge() <= 0 || getAge() >= 120){
    		addFieldError("年龄", "年龄必须大于0,小于120岁");
    		addActionError("年龄填写不符合要求");
    	}
    	if(getAddress().length() < 10){
    		addFieldError("地址", "地址的长度过去短小");
    		addActionError("地址填写不符合要求");
    	}
    }
    public String add(){
    	return SUCCESS;
    }
}


2,struts配置
<action name="addTest" class="com.supan.action.ValidatorAction" method="add">
             <result name="success">/validator.jsp</result>
             <result name="input">/validator.jsp</result>
</action>


3,页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s"  uri="/struts-tags"  %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
      <s:fielderror></s:fielderror>
      <s:form action="addTest">
         <s:textfield name="name" label="姓名"></s:textfield>
         <s:textfield name="age" label="年龄"></s:textfield>
         <s:textfield name="address" label="地址"></s:textfield>
         <s:submit value="添加"></s:submit>
      </s:form>      
  </body>
</html>
分享到:
评论

相关推荐

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    struts2输入校验总结

    在本文中,我们将深入探讨Struts2的输入校验功能,包括手动输入校验和基于验证框架的输入校验。 ### 一、手动输入校验 1. **普通处理方式**: - 在Action类中,你可以重写`validate()`方法,该方法会在业务逻辑...

    Struts2数据校验与国际化

    在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及如何通过国际化功能提供多种语言的用户体验。 首先,数据校验是任何Web应用程序中的关键环节,它...

    Struts2输入校验

    要求使用Struts2的内建校验器校验“书名”、“作者”、“出版日期”、“价格”和“库存数量”字段;要求手动编写代码校验“书号”的有效性;要求手动编写代码校验“出版社”字段中是否包含了“出版社”三个字。

    struts2手动模式

    标题“Struts2手动模式”可能指的是在不依赖自动化工具或IDE的情况下,手动配置和搭建Struts2环境的过程。对于初学者来说,这有助于理解框架内部的工作机制和配置细节。 首先,我们需要了解Struts2的核心概念: 1....

    struts2总结大全

    Struts2的校验分为两个阶段:字段校验和动作校验。字段校验在Action实例创建后立即执行,验证单个字段的值;动作校验则在所有字段都设置好之后进行,通常用于验证多个字段之间的关联关系。 七、包的总结 Struts2的...

    Struts2 拦截器 手动验证 或 自动验证 后台登录验证 源码

    拦截器是Struts2框架的核心特性之一,用于在动作执行前后进行处理,提供了一种灵活的方式来增强或修改应用程序的行为。登录验证是Web应用中常见的安全需求,Struts2通过拦截器可以实现对用户登录状态的有效控制。 ...

    Struts1和Struts2区别

    - **Struts2**:支持注解和XML方式的校验,可以实现声明式校验,减少了代码量并提高了可维护性。 7. 国际化和本地化: - **Struts1**:需要手动配置资源文件,处理相对复杂。 - **Struts2**:提供了一套更直观的...

    转:struts1与struts2的区别

    - **Struts1**: 支持在`ActionForm`的`validate`方法中手动校验数据,或者通过Commons Validator进行校验。但同一类的不同实例无法拥有不同的校验规则,并且不支持子对象的校验。 - **Struts2**: 提供了多种校验机制...

    Struts1和Struts2的区别和对比

    最后,在数据校验方面,Struts1支持在ActionForm的validate方法中进行手动校验,或使用Commons Validator扩展。Struts2提供了更多样化的校验方式,包括validate方法和基于XML的XWork验证框架,以及支持子对象的校验...

    struts2 -2.3.15.3-验证框架简单实现mode

    在Struts2的2.3.15.3版本中,集成的验证框架是其核心功能之一,帮助开发者确保用户输入的数据质量和安全性。本篇将详细讲解如何在Struts2中实现一个简单的验证框架模式。 首先,我们需要了解Struts2验证框架的基本...

    Struts1与Struts2本质区别

    - **Struts 1**:支持在`ActionForm`中重写`validate`方法进行手动校验,也可以整合`Commons-validator`框架进行校验。 - **Struts 2**:支持在Action中重写`validate`方法进行校验,也支持整合`XWork`校验框架进行...

    struts2 入门书籍

    - **Struts2框架实现数据校验**:利用框架提供的校验工具,如`FieldValidator`和`ActionValidator`,可以自动检测表单字段的合法性。 - **国际化实现**:Struts2支持多语言的应用,通过配置资源文件,可以轻松实现...

    轻松入门之struts2

    表单验证部分则分别从手动校验和框架提供的数据校验机制两个角度来讲解如何实现用户输入的校验。 国际化实现部分指导如何为Web应用添加国际化支持,包含页面、Action和验证信息的国际化实现。拦截器浅析部分则介绍...

    Java struts2 validate用户登录校验功能实现

    在本教程中,我们将深入探讨如何使用Struts2的`validate`方法实现用户登录的校验功能。 首先,我们来看一下环境配置。为了运行Struts2项目,你需要Eclipse IDE 4.3.2、Java JDK 1.7_45或更高版本,以及MySQL 5.0或...

    struts1与struts2本质区别

    - **Struts1**:支持在`ActionForm`中重写`validate`方法进行手动校验,或者整合Commons Validator框架。 - **Struts2**:支持通过重写`validate`方法进行校验,同时也支持整合XWork校验框架。 #### 十、Action执行...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_表单校验失败跳input视图问题共13页.pptx

    2. **手动编写校验规则** - 实现步骤: - 在Action类的方法内部自行编写校验逻辑。 - 使用`addFieldError()`方法添加错误信息。 - 示例代码: ```java public String actionMethod() { if (xxx) { ...

Global site tag (gtag.js) - Google Analytics