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

struts2:字段校验和非字段校验代码示例

 
阅读更多
struts2:字段校验和非字段校验代码示例:

此段代码中分别对字符串、日期、整型、email进行数据校验;
Validation01Action.java
  [/size]

package org.validation.action;  
  
import java.util.Date;  
  
import com.opensymphony.xwork2.ActionSupport;  
  
public class Validation01Action extends ActionSupport {  
    private String name;  
    private String email;  
    private int age;  
    private Date date;  
    public String execute()throws Exception{  
        return SUCCESS;  
    }  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public String getEmail() {  
        return email;  
    }  
    public void setEmail(String email) {  
        this.email = email;  
    }  
    public int getAge() {  
        return age;  
    }  
    public void setAge(int age) {  
        this.age = age;  
    }  
    public Date getDate() {  
        return date;  
    }  
    public void setDate(Date date) {  
        this.date = date;  
    }  
      
}  


1.jsp

<%@ 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>  
  <head>  
  
    <title>My JSP '1.jsp' starting page</title>  
      
    <meta http-equiv="pragma" content="no-cache">  
    <meta http-equiv="cache-control" content="no-cache">  
    <meta http-equiv="expires" content="0">      
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
    <meta http-equiv="description" content="This is my page">  
    <!-- 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    -->  
  
  </head>  
    
  <body>  
    <s:fielderror></s:fielderror>  
    <s:form action="validator01">  
        <s:textfield name="name" label="姓名"></s:textfield>  
        <s:textfield name="email" label="邮箱"></s:textfield>  
        <s:textfield name="age" label="年龄"></s:textfield>  
        <s:textfield name="date" label="日期"></s:textfield>  
        <s:submit value="提交"></s:submit>  
    </s:form>  
  </body>  
</html>  


如果是以字段型校验器配置,则参考以下:
Validation01Action-validation.xml
(1)<field name="">为一个属性,name为Action属性名称;
(2)<field-validator type="">为配置一个校验器,type为校验器的类型;
(3)<param>为配置参数,比如最小值、最大值;
(4)<message>为错误信息,如果需要对错误提示信息进行国际化,则可以在全局国际化资源文件中配置,在校验规则文件中编写如下形式:<message key="key"/>,key为国际化资源文件的key即可;



<!DOCTYPE validators PUBLIC  
        "-//Apache Struts//XWork Validator 1.0.2//EN"  
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">  
  
<validators>  
    <field name="name">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>姓名不能为空</message>  
        </field-validator>  
        <field-validator type="regex">  
  
            <param name="expression"><![CDATA[(\w{4,10})]]></param>  
            <message>姓名要在4-10位之间</message>  
        </field-validator>  
    </field>  
    <field name="age">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>年龄不能为空</message>  
        </field-validator>  
        <field-validator type="int">  
            <param name="min">0</param>  
            <param name="max">200</param>  
            <message>年龄范围在0-200之间</message>  
        </field-validator>  
    </field>  
    <field name="email">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>邮箱不能为空</message>  
        </field-validator>  
        <field-validator type="email">  
  
            <message>邮箱格式不正确</message>  
        </field-validator>  
    </field>  
    <field name="date">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>日期不能为空</message>  
        </field-validator>  
        <field-validator type="date">  
            <param name="min">2010-01-01</param>  
            <param name="max">2010-12-31</param>  
            <message>日期在2010-01-01到2010-12-31之间</message>  
        </field-validator>  
    </field>    
</validators>
 

而如果采用非字段校验器,则
(1)<validator type="">表示一个校验器,type属性表示校验器的类型;
(2)<param name="fieldName"></param> 此元素是必要的,指定Action属性的名称;
(3)<message>表示错误信息;


<!DOCTYPE validators PUBLIC  
        "-//Apache Struts//XWork Validator 1.0.2//EN"  
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">  
  
<validators>  
    <validator type="requiredstring" short-circuit="true">  
        <param name="fieldName">name</param>  
        <param name="trim">true</param>  
        <message key="aa"></message>  
    </validator>  
    <validator type="requiredstring" short-circuit="true">  
        <param name="fieldName">age</param>  
        <param name="trim">true</param>  
        <message>年龄不能为空</message>  
    </validator>  
    <validator type="requiredstring" short-circuit="true">  
        <param name="fieldName">email</param>  
        <param name="trim">true</param>  
        <message>邮箱不能为空</message>  
    </validator>  
    <validator type="requiredstring" short-circuit="true">  
        <param name="fieldName">date</param>  
        <param name="trim">true</param>  
        <message>日期不能为空</message>  
    </validator>  
    <validator type="regex">  
        <param name="fieldName">name</param>  
        <param name="expression"><![CDATA[(\w{4,10})]]></param>  
        <message>姓名要在4-10位之间</message>  
    </validator>  
    <validator type="int">  
        <param name="fieldName">age</param>  
        <param name="min">0</param>  
        <param name="max">200</param>  
        <message>年龄范围在0-200之间</message>  
    </validator>  
    <validator type="email">  
        <param name="fieldName">email</param>  
        <message>邮箱格式不正确</message>  
    </validator>  
    <validator type="date">  
        <param name="fieldName">date</param>  
        <param name="min">2010-01-01</param>  
        <param name="max">2010-12-31</param>  
        <message>日期在2010-01-01到2010-12-31之间</message>  
    </validator>  
</validators>  
 

分享到:
评论

相关推荐

    jsp字段校验与非字段校验

    Struts2是一个强大的MVC框架,它提供了全面的数据验证机制,包括字段校验和非字段校验。Struts2的验证可以通过以下方式实现: - **Action类的validate方法**:在Action类中重写`validate()`方法,对所有字段进行...

    Struts2输入校验总结

    4. **校验器配置风格**:分为字段校验器和非字段校验器。字段校验器直接作用于特定字段,而非字段校验器可以跨多个字段工作。 - 字段校验器配置示例: ```xml 被校验的字段"&gt; 校验器名"&gt; &lt;!-- 校验规则 --&gt; ...

    Struts2的输入校验实例代码

    Struts2支持两种服务器端校验方式:代码校验和配置校验。 3. **代码校验**: 代码校验是通过编写Java代码来实现的。具体步骤如下: - **步骤一:封装数据**:将用户输入的值封装到Action类的属性中,如在`...

    Struts2 part6:数据校验

    Struts2的数据校验分为两个主要部分:客户端校验和服务器端校验。客户端校验通常使用JavaScript或者HTML5的表单验证,可以在用户提交数据前即时反馈错误,提高用户体验。而服务器端校验则是在服务端进行,确保即使绕...

    struts2输入校验总结

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

    Struts2的输入校验

    首先,Struts2的输入校验机制允许开发者在不编写额外代码的情况下,对用户的输入进行验证。它内置了多种校验器,能够处理大部分常见的校验需求,如必填、长度限制、数据类型检查等。此外,对于更复杂的校验规则,...

    struts2笔记之校验表单信息

    校验规则分为字段校验配置和非字段校验配置两种风格。字段校验配置直接关联到Action中的属性,而非字段校验配置则需要显式指定被校验的字段名。还可以通过添加`short-circuit="true"`属性实现短路校验,即只显示第一...

    struts2中的输入校验

    首先,Struts2提供了两种主要的校验方式:代码校验和校验框架。这两种方法都可以有效地检查用户输入,并根据验证结果向用户返回错误信息。 1. **代码校验**: - **重写validate方法**:开发者可以重写Action类的`...

    struts2 简单数据校验

    在“Struts2_1100_SimpleDataValiation”这个压缩包中,可能包含了相关的代码示例、教程文档,或者是一个简单的Struts2项目,用于演示如何在实际应用中实现数据校验。你可以通过解压文件,学习和理解Struts2数据校验...

    struts2的数据校验

    Struts2提供了多种数据校验方式,包括基于注解的校验、基于XML配置的校验和自定义校验。 1. **基于注解的校验**: Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean ...

    Struts2简单数据校验源码 20120417

    - 除了在Action类中使用注解,也可以在`Validation.xml`文件中定义全局和字段级别的校验规则。 - 这种方式对于多个Action共享相同的校验规则非常有用。 5. **结果集和错误处理** - 如果数据校验失败,Struts2会...

    struts2-login校验.rar

    在这个名为"struts2-login校验.rar"的压缩包中,我们很显然会看到一个关于Struts2登录验证的实现,涉及到admin和user两个不同角色的登录页面。 首先,我们需要了解Struts2的核心概念,如Action和Result。Action是...

    struts2的自定义校验器例子

    本示例将详细介绍如何在Struts2中创建并使用自定义校验器。 在Struts2中,数据验证分为两种类型:客户端验证和服务器端验证。客户端验证通常通过JavaScript在用户浏览器中进行,而服务器端验证则在服务器上执行,...

    Struts2 输入校验

    Struts2提供了多种进行输入校验的方式,包括Action级别校验、Validator框架校验、拦截器校验以及使用JSR303/JSR349 Bean Validation标准。这些方法可以单独使用,也可以结合使用,以满足不同项目的需求。 1. Action...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    Struts2简单数据校验源码

    本资料“Struts2_1100_SimpleDataValiation.rar”提供了关于Struts2简单数据校验的源码示例。 首先,Struts2的数据校验主要依赖于两个核心组件:Validation拦截器和Validator框架。Validation拦截器在Action执行前...

Global site tag (gtag.js) - Google Analytics