`
peonyzzdx
  • 浏览: 581692 次
  • 性别: 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>  
 

分享到:
评论

相关推荐

    struts2输入校验

    自己做的struts2输入校验,很详细的

    Struts2输入校验

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

    struts2讲义_吴峻申

    8.2.2 Struts2非字段校验的配置文件形式 161 8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 165 8.3.1 Struts2中单个Java对象的输入校验形式 166 8.3.2 Struts2对象集合即批量输入的...

    struts2入门实例2 经典入门必备

    字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...

    struts2入门实例1

    字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...

    struts2入门实例4 经典入门必备

    字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...

    struts2入门实例3 经典入门必备

    字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...

    BBS-struts2课程设计-南工考研论坛

    (3) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则,并对自定义校验器要求密码必须包含数字、字母以及两个以上的特殊字符(!@#$%^&*)。 (4) 对用户...

    图书管理系统-struts2

    (2) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则,并对自定义校验器要求密码必须包含数字、字母以及两个以上的特殊字符(!@#$%^&*)。 (3) 对用户...

    myeclipse mysql struts2 公告管理系统

    (1) 按用户权限和功能分为普通用户和管理员两部分 (2) 普通用户只需浏览发布出来的公告即可。 (3) 管理员可以增加,修改,删除用户,并撰写,编辑,删除公告。 (4) 用户注册,需要通过Struts2字段校验判断用户注册...

    java Struts2+hibernate+Spring整合的通讯录

    (3) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则。设置用户名,密码的非空判断和最小及最大长度,两次密码输入是否一致,设置年龄范围,设置出生...

    J2EE复习题1

    2.Struts2 框架主要有两个核心配置文件:struts.properties 和(struts.xml) 3.struts2 的框架校验包含字段校验和(非

    利用java反射校验struts中的form(含正则表达式)

    在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包附带一个通用的易扩展的正则表达式校验类...

    无垠式代码生成器最新功能与文档增强版0.7.22

    2.增强了域对象列表的校验和棱柱列表的校验。 3.实现了编译警告功能,若选择了IgnoreWarning选择框,编译警告即不影响代码生成。 ===============0.7.16=========================== 本版是Java通用代码生成器...

    Struts in Action中文版

    2.4.4. Struts如何实现 Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流...............................................................................

    struts in Action

    2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流................................................................................

    OpenJWeb1.6 Java Web 应用快速开发平台技术白皮书

    基于struts2+hibernate+spring+spring security,实现了单表,主明细表增删改查,完整的组织结构树和权限管理体系,支持多语设置和自动生成多语言文件,支持可配置的字段校验器,默认值设置,支持数据权限管理,等等,使软件...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要...

    最新Java面试宝典pdf版

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    Java面试笔试资料大全

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

Global site tag (gtag.js) - Google Analytics