Samuel Learning

  • 联系
  •  
  • 管理

文章分类(203)

  • 01 ASP/HTML(6)
  • 02 Script/CSS(16)
  • 03 C/C++
  • 04 XML(4)
  • 05 微软编程(26)
  • 06 J2EE(60)
  • 09 Linux(14)
  • 10 Database(27)
  • 11 报表打印
  • 12 打包安装(1)
  • 13 模式重构(2)
  • 14 系统架构
  • 15 敏捷开发(11)
  • 16 案例分析(30)
  • 17 Workflow(1)
  • 18 配置管理(1)
  • 19 项目管理
  • 20 英语(4)

新闻分类(52)

  • CXF学习
  • Hibernate学习(1)
  • iBatis学习(16)
  • Struts1学习(1)
  • Struts2学习(34)

.NET资源

  • adxmenu
  • C# Open Source
  • DNN Directory
  • M2Land
  • Windows Form FAQ
  • 中国DNN
  • 中国DNN联盟

Ajax

  • DoJo
  • GWT
  • JQuery
  • jquery autocomplete
  • jquery flexgrid
  • JQuery Form
  • jquery masked input
  • JQuery UI
  • jquery validation
  • Jquery 图表
  • jquery报表
  • jquery插件集合
  • Qooxdoo
  • Tibco GI
  • YUI
  • YUI-EXT
  • ZeroKode

Java开源

  • ABLE
  • Agile Tao
  • Ajax4JSF
  • Alfresco
  • AppFuse
  • Compiere
  • Equinox
  • Findbugs
  • Geronimo
  • Grails
  • Harmony
  • Hibernate论坛
  • JAG
  • Java开源大全
  • Java视线论坛
  • jBPM工作流
  • JSFTutorials
  • Nereide ERP
  • Ofbiz ERP
  • Opentaps ERP
  • operamasks
  • Petstore
  • Prototype.js
  • RIFE
  • Runa
  • SpringSide
  • Struts Menu
  • Sun Glassfish
  • Trails
  • YUI4JSF
  • 满江红

Mobile

  • Sencha

WEB资源

  • DHTML中心
  • DHTML参考手册
  • DHTML文档
  • EclipsePlugin
  • Firebug
  • GRO Clinux
  • jMaki
  • JSTL文档
  • LoadIcon
  • Openlaszlo
  • Struts Menu 展示
  • Web Test Tools
  • WebCtrs
  • Webdeveloper
  • 中国RIA开发者论坛

Workflow

  • E-Workflow
  • JBPM
  • OpenWFE
  • OSWorkflow
  • WFMC
  • Workflow Research

其他连接

  • confach
  • CPP
  • ejay
  • Giovanni
  • 丹佛
  • 交大e-learning
  • 交大研究生院
  • 可恶的猫
  • 天天@blog
  • 我的相册
  • 阿飞

大牛人

  • 32篇JBPM
  • David.Turing
  • HongSoft@业务集成
  • Joel
  • Koen Aers
  • Martinfowler
  • Raible Matt
  • Raible Wiki
  • Scott W.Ambler
  • Tom Baeyens
  • Uncle Bob
  • 一个世界在等待
  • 子在川上曰
  • 小布老师
  • 小明
  • 差沙
  • 徐昊
  • 江南白衣
  • 汪博士
  • 汪小金
  • 银狐999

开源软件

  • 2Bizbox ERP
  • CompiereCRM&ERP
  • EGW
  • Vtiger CRM
  • webERP

敏捷

  • Canoo
  • Cruisecontrol
  • DBUnit
  • EL4Ant
  • Extreme Programming
  • Fit
  • Fitnesse
  • JFrog
  • Liquibase
  • Maven
  • MockObjects
  • Selenium
  • Squish
  • xpairtise
  • XPlanner
  • XProgramming
  • 敏捷联盟

数据库

  • Oracle 中国
  • Oracle-ERP
  • Oracle在线社区

未归类

  • Aquarius Orm Studio
  • mambo建站系统
  • Oracle产品下载
  • 远程同步管理工具Capivara

经典框架

  • Apache Shale
  • formdef-struts
  • FreeMarker 主页
  • JBoss Seam
  • JSF 中心
  • JSF 入门应用
  • JSF中国
  • MyFaces官方
  • Spring 社区
  • Spring专业网站
  • Spring中文论坛
  • Spring参考手册
  • Spring官方网站
  • strecks-struts
  • Struts1
  • Struts2
  • Struts-layout
  • StrutsWiKi
  • Tapestry WIKI
  • Tapestry 官方
  • Tapestry4开发指南
  • Tapestry中文文档
  • Webwork2文档
  • Wicket

网络教程

  • Laliluna
  • RoseIndia
  • Sang Shin
  • Visualbuilder

著名站点

  • Buildix
  • Dev2Dev
  • IBM dev中国
  • InfoQ
  • ITPub
  • Java Eye
  • Java Research
  • JavaRead
  • JavaWorldTW
  • Matrix
  • PHP100
  • PHPX
  • SpringSideWiKi
  • TheServerSide
  • TWPHP
  • 中国工作流论坛

项目管理

  • 管理人网

最新评论

View Post

Cookbook-struts1.3.8案例分析-Validator

 

Cookbook-struts1.3.8案例分析-Validator

l Validator

入口Action配置

<action path="/prepareValidator" type="examples.SuccessAction">

<forward name="success" path="/jsp/validator/Validator.jsp" />

</action>

<action path="/processValidator"

           type="examples.validator.ProcessValidatorAction" name="validatorForm"

           scope="request" input="/jsp/validator/Validator.jsp"

           cancellable="true" validate="true">

           <set-property property="actionId" value="validatorAction" />

           <forward name="success"

              path="/jsp/validator/ValidatorResults.jsp" />

</action>

SuccessActiony,与Simple Form using ActionForm的一致

         Form Jsp页面里用到的标签,普通的html标签

<html:text property="byteValue" />

<html:text property="shortValue" />

<html:text property="integerValue" />

<html:text property="longValue" />

<html:text property="floatValue" />

<html:text property="doubleValue" />

<html:text property="creditCard" />

<html:text property="date" />

<html:text property="email" />

<html:text property="mask" />

<html:text property="min" />

<html:text property="max" />

<html:text property="range" />

<html:text property="required" />

<html:password property="password" redisplay="false"/>

<html:password property="password2" redisplay="false"/>

         ActionForm类的定义,用xml定义

<form-bean name="validatorForm"

           type="org.apache.struts.validator.DynaValidatorForm">

           <form-property name="byteValue" type="java.lang.String" />

           <form-property name="creditCard" type="java.lang.String" />

           <form-property name="date" type="java.lang.String" />

           <form-property name="doubleValue" type="java.lang.String" />

           <form-property name="email" type="java.lang.String" />

           <form-property name="floatValue" type="java.lang.String" />

           <form-property name="integerValue" type="java.lang.String" />

           <form-property name="longValue" type="java.lang.String" />

           <form-property name="mask" type="java.lang.String" />

           <form-property name="min" type="java.lang.String" />

           <form-property name="max" type="java.lang.String" />

           <form-property name="range" type="java.lang.String" />

           <form-property name="required" type="java.lang.String" />

           <form-property name="shortValue" type="java.lang.String" />

           <form-property name="password" type="java.lang.String" />

           <form-property name="password2" type="java.lang.String" />

</form-bean>

验证的配置文件内容

<form name="validatorForm">

    验证长度

    <field property="byteValue" depends="byte">

       <arg key="prompt.byte" />

    </field>

    <field property="shortValue" depends="short">

       <arg key="prompt.short" />

    </field>

    <field property="integerValue" depends="integer">

       <arg key="prompt.integer" />

    </field>

    <field property="longValue" depends="long">

       <arg key="prompt.long" />

    </field>

    <field property="floatValue" depends="float">

       <arg key="prompt.float" />

    </field>

    <field property="doubleValue" depends="double">

       <arg key="prompt.double" />

    </field>

    <field property="creditCard" depends="creditCard">

       <arg key="prompt.creditCard" />

    </field>

    <field property="date" depends="date">

       <arg key="prompt.date" />

       <var>

           <var-name>datePattern</var-name>

           <var-value>MM/dd/yyyy</var-value>

       </var>

    </field>

    <field property="email" depends="email">

       <arg key="prompt.email" />

    </field>

    <field property="mask" depends="mask">

       <arg key="prompt.mask" />

       <var>

       <var-name>mask</var-name>

       <var-value>^"d{5}"d*$</var-value>

       </var>

    </field>

    <field property="min" depends="minlength">

       <arg key="prompt.min" position="0"/>

       <arg name="minlength" key="${var:minlength}" resource="false" position="1" />

       <var>

           <var-name>minlength</var-name>

           <var-value>5</var-value>

       </var>

    </field>

    <field property="max" depends="maxlength">

       <arg key="prompt.max" position="0"/>

       <arg name="maxlength" key="${var:maxlength}" resource="false" position="1" />

       <var>

           <var-name>maxlength</var-name>

           <var-value>10</var-value>

       </var>

    </field>

    <field property="range" depends="integer,intRange">

         <arg key="prompt.range" />

         <arg name="intRange" key="${var:min}" resource="false" position="1" />

         <arg name="intRange" key="${var:max}" resource="false" position="2" />

       <var>

           <var-name>min</var-name>

           <var-value>100</var-value>

       </var>

       <var>

           <var-name>max</var-name>

           <var-value>1000</var-value>

       </var>

</field>

    验证必填值和两个值一致

    <field property="required" depends="required">

       <arg key="prompt.required" />

       </field>

       <field property="password" depends="required,minlength,twofields">

       <arg key="prompt.password" position="0"/>

       <arg name="minlength" key="${var:minlength}" resource="false" position="1"/>

        <arg name="twofields" key="prompt.password2" position="1"/>

       <var>

           <var-name>minlength</var-name>

           <var-value>5</var-value>

       </var>

       <var>

           <var-name>secondProperty</var-name>

           <var-value>password2</var-value>

       </var>

    </field>

</form>

自定义的validator

<global>

       <!-- Custom Validator -->

       <validator name="twofields"

                   classname="examples.validator.CustomValidator"

                   method="validateTwoFields"

                   methodParams="java.lang.Object,

                       org.apache.commons.validator.ValidatorAction,

                       org.apache.commons.validator.Field,

                       org.apache.struts.action.ActionMessages,

                       javax.servlet.http.HttpServletRequest"

                   msg="errors.twofields" />

</global>

posted on 2008-07-08 02:23 MingIsMe 阅读(201) 评论(0)  编辑  收藏 所属分类: 16 案例分析

 
Powered by:
BlogJava
Copyright © MingIsMe