struts2 自动验证框架

来源:互联网 发布:最好用安卓日历软件 编辑:程序博客网 时间:2024/05/16 07:46

1.配置strus2环境,加入相关的jar。

2.页面:

      1)引入struts2的标签库<%@taglib prefix = "s" uri="/struts-tags" %>

      2)显示验证错误信息

               <s:head />

               <s:fielderror />

            表单数据:

                      <input type="text" id="email" name="user.email" />

                      <input type="text" id="username" name="user.username"  />

                      <input type="password" id="password" name="user.password" />

                      <s:textfield name="user.birthday" theme="simple"  />      【也可以用普通的】

      3)action:

                public class UserAction extends ActionSupport{

                      private User user;

                            .......

                      //需要验证的请求

                      public String register(){

                            return "success";

                      }

      4)struts.xml的配置:

                     <?xml version="1.0" encoding="UTF-8" ?>
                              <!DOCTYPE struts PUBLIC
                               "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
                               "
http://struts.apache.org/dtds/struts-2.0.dtd">

               <struts>
                        <constant name="struts.action.extension" value="" />
                  <package name="default-package" extends="struts-default" namespace="/">

                  <action name="register" class="action.UserAction" method="register">
                           <result name="success" type="redirect">
                                   /core/toLogin
                           </result>
                          <result name="input">
                                 /WEB-INF/jsp/user/register.jsp
                          </result>
                   </action>

                  </package>

             </struts>

      5)验证的xml文件 [文件名可以于Action的类名-请求的name的值-validation.xml命名]

              如本例中使用的验证xml文件名字为:UserAction-register-validation.xml

                                                                         【或者其他命名规则】

                验证的xml文件跟action在同一个包结构下。

          内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
 "-//OpenSymphony Group//XWork Validator 1.0//EN"
 "
http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd" >
<validators>
 
<field name="user.email">
     <field-validator type="requiredstring">
     <message>email must is not null</message>
  </field-validator>
  <field-validator type="email">
     <message>Please enter a valid email address</message>

           <!--提示信息也可以使用国际化文件,在这里就不在阐述-->
  </field-validator>
 </field>

<field name="user.username">
   <field-validator type="requiredstring">
        <param name="trim">true</param>
        <message>username must is not null!</message>
   </field-validator>
   <field-validator type="stringlength">
       <param name="trim">true</param>
       <param name="minLength">6</param>
       <param name="maxLength">8</param>
       <message>username must 6-8位!</message>
  </field-validator>
</field>
<field name="user.password">
    <field-validator type="requiredstring">
       <param name="trim">true</param>
      <message>password must is not null!</message>
    </field-validator>
    <field-validator type="stringlength">
       <param name="trim">true</param>
       <param name="minLength">6</param>
       <param name="maxLength">6</param>
       <message>password must 6位!</message>
   </field-validator>
 </field>
 <field name="user.birthday">
  <field-validator type="date">       
      <param name="min">1980-01-01</param>
            <param name="max">2010-01-01</param>
   <message>

    birthday is date and must is 1980-01-01 to 2010-01-01</message>
  </field-validator>
 </field>
</validators>

  strut2提供的验证规则还有:

< validators >
< validator name ="required"

 class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator" />   

 < validator name ="requiredstring"

 class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator" /> 
< validator name ="int"

 class ="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator" /> 
<validator name ="double"

  class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator" />    

<validator name ="date"

 class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator" /> 
< validator name ="expression"

   class="com.opensymphony.xwork2.validator.validators.ExpressionValidator" /> 
<validator name ="fieldexpression"

 class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator" />     

<validator name ="email"

  class="com.opensymphony.xwork2.validator.validators.EmailValidator" /> 
< validator name ="url"

    class="com.opensymphony.xwork2.validator.validators.URLValidator" /> 
< validator name ="visitor"

   class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator" /> 
< validator name ="conversion"

 class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator" /> 
< validator name ="stringlength"   

 class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator" /> 
< validator name ="regex" 

 class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator" />
</ validators >

 

 

           

原创粉丝点击