Struts2(声明式验证和编程验证)
一.声明式验证
1.改写XXX-validation.xml文件名,XXX替换为该要实现的类名
1 <!DOCTYPE validators PUBLIC 2 "-//Apache Struts//XWork Validator 1.0.2//EN" 3 "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> 4 5 <validators> 6 <!--被验证的属性名--> 7 <field name="sno"> 8 <!--验证规则--> 9 <field-validator type="requiredstring"> 10 <!--验证消息--> 11 <message key="学生编号不能为空"/> 12 </field-validator> 13 <field-validator type="stringlength"> 14 <param name="maxLength">10</param> 15 <param name="minLength">3</param> 16 <message>"学生编号长度在${minLength}到${maxLength}之间"</message> 17 </field-validator> 18 </field> 19 <field name="sname"> 20 <field-validator type="requiredstring"> 21 <message key="学生姓名不能为空"/> 22 </field-validator> 23 </field> 24 </validators>
2.把该要实现的类继承ActionSupport接口
3.验证通过需要跳转到的界面
1 <action name="input" class="com.hanqi.web.Student"> 2 <result >view.jsp</result> 3 <!--验证未通过要跳转的页面--> 4 <!-- name为input --> 5 <result name="input">index.jsp</result> 6 </action>
二.编程式验证
1.重写validate()方法
1 @Override 2 public void validate() 3 { 4 //验证方法 5 if(sno==null||sno.trim().length()==0) 6 { 7 //指定某个类中的字段属性名 8 this.addFieldError("sno", "学生编号不能为空"); 9 } 10 super.validate(); 11 }
2.验证通过需要跳转到的界面
1 <action name="input" class="com.hanqi.web.Student"> 2 <result >view.jsp</result> 3 <!--验证未通过要跳转的页面--> 4 <!-- name为input --> 5 <result name="input">index.jsp</result> 6 </action>

浙公网安备 33010602011771号