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>

 

 

 

posted @ 2016-07-28 17:01  明天会更好!!!!  阅读(205)  评论(0)    收藏  举报