- 浏览: 14357 次
最新评论
Struts2校验器类型详解
一、Struts2内建校验器
位于xwork-2.0.4.jar压缩包中( com.opensymphony.xwork2.validator.validators)有个文件default.xml<wbr></wbr>,该文件中定义了Struts2框架内建的校验器。default.xml文件定义了常用的校验器类型。
<wbr></wbr>
<validators>
<wbr><wbr> <validator name="<strong>required</strong>" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>requiredstring</strong>" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>int</strong>" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>long</strong>" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>short</strong>" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator<wbr>"/></wbr></wbr></wbr>
<wbr><wbr> <validator name="<strong>double</strong>" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidato<wbr>r"/></wbr></wbr></wbr>
<wbr><wbr> <validator name="<strong>date</strong>" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>expression</strong>" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>fieldexpression</strong>" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator<wbr>"/></wbr></wbr></wbr>
<wbr><wbr> <validator name="<strong>email</strong>" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>url</strong>" class="com.opensymphony.xwork2.validator.validators.URLValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>visitor</strong>" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>conversion</strong>" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldVali<wbr>dator"/></wbr></wbr></wbr>
<wbr><wbr> <validator name="<strong>stringlength</strong>" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidat<wbr>or"/></wbr></wbr></wbr>
<wbr><wbr> <validator name="<strong>regex</strong>" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/></wbr></wbr>
<wbr><wbr> <validator name="<strong>conditionalvisitor</strong>" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldV<wbr>alidator"/></wbr></wbr></wbr>
</validators>
<wbr></wbr>
二、各种类型校验器
<wbr></wbr>
1、类型转换检验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong><strong><strong><strong><strong><strong><strong><strong>conversion</strong></strong></strong></strong></strong></strong></strong></strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">myField</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>类型转换错误</message>
<wbr><wbr><wbr><wbr><wbr><param name ="repopulateField">true</param><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="myField"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>conversion</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr></wbr></wbr>类型转换错误</message>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name ="repopulateField">true</param><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
- fieldName:该参数指定检查是否存在转换异常的字段名称,如果是字段校验,则不用指定该参数。
- repopulateField:该参数指定当类型转换失败后,返回input页面时,类型转换失败的表单是否保留原来的错误输入。true为保留,false为不保留。
2、日期校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>date</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">birthday</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="min">1990-01-02</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="max">2010-07-28</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>生日数据错误</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="birthday"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>date</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="min">1990-01-01</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="max">2010-07-28</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message key="error.birthday"></message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
- min:指定字段日期值的最小值,该参数为可选参数。
- max:指定字段日期值的最大值,该参数为可选参数。
3、浮点数值校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>double</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">percentage</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="minInclusive">20.1</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="maxInclusive">50.1</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>生日数据错误</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="percentage"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>double</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="minInclusive">20.1</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="maxInclusive">50.1</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message key="error.percentage"></message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
- minInclusive|minExclusive:指定字段的最小值,包含该值|不包含该值。
- maxInclusive|maxExclusive:指定字段的最大值, 包含该值|不包含该值。
4、邮件地址校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>email</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">MyEmail</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>非法的邮件地址</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="MyEmail"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>email</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><message></wbr></wbr></wbr></wbr></wbr></wbr>非法的邮件地址</message>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
5、表达式校验器:
<wbr><wbr> <validator type="<strong>expression</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="expression">.......</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message>Failed to meet Ognl Expression...</message></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
- expression:该参数为一个逻辑表达式,该参数使用OGNL表达式,并基于值栈计算,返回一个Boolean类型值。
6、字段表达式校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>fieldexpression</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">myField</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="expression"><![CDATA[#myCreditLimit > #myGirfriendCreditLimit]]></param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message>My credit limit should be MORE than my girlfriend</message></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="myField"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>fieldexpression</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="expression"><![CDATA[#myCreditLimit > #myGirfriendCreditLimit]]></param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message>My credit limit should be MORE than my girlfriend</message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
7、整数校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>int</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">age</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="min">10</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="max">100</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>年龄必须在在${min}到${max}之间</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="age"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>int</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="min">10</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="max">100</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr></wbr></wbr>年龄必须在在${min}到${max}之间</message>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
8、正则表达式校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>regex</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">myStrangePostcode</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="expression"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]></param></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="myStrangePostcode"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>regex</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="expression"><![CDATA[#myCreditLimit > #myGirfriendCreditLimit]]></param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message>My credit limit should be MORE than my girlfriend</message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
- expression:为必选参数,指定匹配有的表达式。
- caseSensitive:指明进行匹配时,是否区分大小写,为可选参数,默认为true。
9、必填校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>required</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">username</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>用户名不能为空</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="username"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>required</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr></wbr></wbr>用户名不能为空</message>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
10、必填字符串校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>requiredstring</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">username</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="trim">true</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>用户名不能为空</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="username"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>requiredstring</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="trim">true</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr></wbr></wbr>用户名不能为空</message>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
- trim:可选参数,用于指定是否在校验之前对字符串进行整理,默许为true。
11、字符串长度校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>stringlength</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">username</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="minLength">4</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="maxLength">10</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message></wbr></wbr></wbr></wbr>用户名长度在${minLength}到${maxLength}之间</message>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="username"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>stringlength</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="minLength">4</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="maxLength">10</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="trim">true</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message key="error.length.username"></message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
12、网址校验器:
(1)非字段校验:
<wbr><wbr> <validator type="<strong>url</strong>"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">myHomePage</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <message>Invalid homepage url</message></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="myHomePage"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>url</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <message>Invalid homepage url</message></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
13、visitor校验器:
该校验器名称为:visitor,用来校验Action中定义的复合类型属性,支持简单的复合类型、数组类型、Map等集合类型。
(1)非字段校验:
<wbr><wbr> <validator type="visitor"></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="fieldName">user</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="context">myContext</param></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> <param name="appendPrefix">true</param></wbr></wbr></wbr></wbr>
<wbr><wbr> </validator></wbr></wbr>
(2)字段校验:
<wbr><wbr> <field name="user"></wbr></wbr>
<wbr><wbr><wbr><wbr> <field-validator type="<strong>visitor</strong>"></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="context">myContext</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> <param name="appendPrefix">true</param></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> </field-validator></wbr></wbr></wbr></wbr>
<wbr><wbr> </field></wbr></wbr>
<wbr></wbr>
如果想自定义一个自己的校验器,可以在Web工程的WEB-LIB\lib目录下增加一个validators.xml配置文件,在该文件中定义自己的校验器。
<wbr></wbr>
注意:如果使用validators.xml配置文件,则系统默认的default.xml配置文件不会加载,所以需要将default.xml的内容复制到validators.xml配置文件中。否则不能使用系统内建的校验器。<wbr></wbr>
相关推荐
### Struts2校验器类型详解 #### 一、Struts2内建校验器 在探讨Struts2校验器之前,我们首先需要了解这些校验器是如何被定义和集成到框架中的。如文中所述,Struts2的内建校验器主要位于`xwork-2.0.4.jar`压缩包中...
5. **内置校验器**:Struts2提供了丰富的内置校验器,覆盖了从简单的类型检查到复杂的数据验证。例如`required`用于检查字段是否为空,`int`和`double`用于数值类型检查,`email`用于电子邮件地址验证等。 综上所述...
在Struts2中,可以通过配置不同的校验器来实现对各种数据类型的校验。 3. **Field Validator**:字段校验器,用于校验表单中的具体字段。每个字段校验器都有特定的类型,如`requiredstring`表示必填字段,`string...
它包括ValidatorPlugIn配置、 validation.xml校验规则定义、以及自定义校验器的实现。 **6. Tiles框架集成** Struts与Tiles框架的集成使得页面布局变得更加灵活。Tiles定义了可重用的页面片段,可以组合成复杂视图...
Struts2的校验框架基于Apache Commons Validator,提供了多种预定义的验证器类型以及自定义验证器的功能。这些验证器可以在配置文件中或代码中定义,用于检查表单字段的有效性。 #### 三、示例分析 ##### 1. 配置...
Struts2 Interceptor详解 Struts2作为一款流行的Java Web框架,其强大的功能之一就是拦截器(Interceptor)。拦截器在MVC模式中扮演着重要角色,它可以对请求进行预处理和后处理,提供了灵活的扩展机制,使得业务...
Struts2 拦截器详解 Struts2 框架中的拦截器(Interceptor)是一种强大的机制,它允许开发者在Action执行前后插入自定义的行为,增强了应用的灵活性和可扩展性。拦截器是基于Java的动态AOP(面向切面编程)实现,...
Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。在Struts2框架中,拦截器扮演着关键角色,它们提供了AOP(面向切面编程)的功能,使得开发者可以在不修改业务逻辑的情况下...
### Struts2技术知识详解 #### 一、Struts2框架简介 Struts2是由Apache基金会维护的一个开源项目,它是Struts1的升级版本,在Web应用开发领域具有重要的地位。Struts2是一个基于MVC(Model-View-Controller)设计...
19. **自定义拦截器**:拦截器是Struts2的核心机制之一,可以自定义拦截器进行日志记录、权限验证、数据校验等操作。 20. **输入校验**:可以使用XML配置进行Action级别的校验,也可以对每个方法进行细粒度校验。 ...
Struts2是一个流行的Java Web框架,它极大地简化了MVC(模型-视图-控制器)应用程序的开发。在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象的属性。这篇博客将...
对于Web项目中的验证,Struts2提供了一套完整的验证框架,允许开发者定义验证规则并在请求处理前进行校验,有效防止了无效数据进入系统。此外,为了支持多语言环境,Struts2还集成了Web项目的国际化功能,使得开发者...
以上内容仅是Struts2学习的一部分,实际开发中,你还需要掌握Action类的编写,配置文件的使用,拦截器的自定义,以及Struts2提供的各种结果类型和标签库的运用。通过深入理解和实践,你将能够熟练运用Struts2框架...
本篇文章将详细介绍Struts2中两种数据校验方法以及常用的校验器。 1. **Action中的validate()方法** Struts2提供了`Validateable`接口,它包含一个`validate()`方法。当你创建的Action类继承自`ActionSupport`,...
**Struts2校验框架详解** 1. **基础概念** - **Action类**:Struts2的核心组件,负责处理用户的请求,执行业务逻辑,并返回结果。 - **Validation框架**:在Action执行前,对用户提交的数据进行验证,防止无效或...
Struts2在设计上更加灵活和强大,提供了更多的特性,例如类型转换、输入校验、拦截器等。 #### 二、Struts2框架特点 - **基于拦截器**:Struts2的核心是一个拦截器栈,它使用拦截器处理请求,这使得扩展和定制非常...
2. `field-validator`元素:定义了针对某个属性的校验器类型。 3. `type`属性:定义校验器的类型,如`requiredstring`(非空校验)、`length`(长度校验)、`expression`(自定义表达式校验)等。 4. `message`元素...
5. **自定义验证器**:除了预定义的验证类型,开发者还可以通过创建自定义Validator类来扩展验证功能。这可以通过设置`type`属性为自定义类的全限定名,并在`param`子元素中传递必要的参数。 6. **验证流程**:当...
2. **Action类**:在Struts1.x中,控制器由Action类实现。每个Action对应一个用户请求,处理完成后返回一个结果转发到特定的视图。 3. **配置文件**:`struts-config.xml`是Struts1.x的核心配置文件,用于定义...
`struts.xml`是Struts2的核心配置文件,它负责定义动作(Action)、结果(Result)、拦截器(Interceptor)等核心元素,控制着应用程序的流程。以下是一些主要的配置元素: 1. ****: 定义一个包,可以包含多个...