struts框架校验步骤:
- 在Action的相同目录下创建xml文件(命名规则为:Action名-validation.xml)
- 编辑xml文件:(LoginAction-validation.xml)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE validators PUBLIC 3 "-//Apache Struts//XWork Validator 1.0.2//EN" 4 "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> 5 6 <validators> 7 <field name="username"> 8 <field-validator type="requiredstring"> 9 <message>姓名不能为空!</message> 10 </field-validator> 11 </field> 12 <field name="age"> 13 <field-validator type="required"> 14 <message>年龄不能为空!</message> 15 </field-validator> 16 <field-validator type="int"> 17 <param name="min">18</param> 18 <param name="max">33</param> 19 <message>年龄要介于18到33之间!</message> 20 </field-validator> 21 </field> 22 </validators>
其中一个<field>标签对应Action里面的一个属性,<field-validator>标签对应的是struts内置的校验器,这些标签可以在以下地方找到:(其中name属性对应的都是java里面的setXXX的XXX属性名)
打开此包,在default.xml下可以找到标签属性对应的校验器:
default.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE validators PUBLIC 3 "-//Apache Struts//XWork Validator Definition 1.0//EN" 4 "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> 5 6 <!-- START SNIPPET: validators-default --> 7 <validators> 8 <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> 9 <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> 10 <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> 11 <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> 12 <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> 13 <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> 14 <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> 15 <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> 16 <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> 17 <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> 18 <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> 19 <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> 20 <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> 21 <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> 22 <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> 23 <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> 24 </validators> 25 <!-- END SNIPPET: validators-default -->
在eclipse中Debug Web项目: