`
Supanccy2013
  • 浏览: 220666 次
  • 性别: 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支持多语言的应用,通过配置资源文件,可以轻松实现...

    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