struts2通过配置使用struts2提供的验证

如何实现struts2中xml验证:
  *  建立Jsp页面,定义需求 
       * 用户名不能为null ,""
       * 密码不能为null, ""  并且密码的长度6-12之间 
    
  * 定义action
      public class ValidateXmlAction extends ActionSupport {
			private String username;
			private String psw;
			
			public void setUsername(String username) {
				System.out.println("setUsername方法");
				this.username = username;
			}
			public String login(){
		        System.out.println("login方法");
				return "success";
			}
			public String test(){
		        System.out.println("test方法");
				return "success";
			}
	   }   
	   
   *  在struts_validate.xml文件中增加如下配置
        <action name="validateXmlAction_*" class="cn.itcast.validate.ValidateXmlAction" method="{1}">
            <result name="success">/validate/success.jsp</result>
            <!-- 验证出错要转向的错误页面 -->
            <result name="input">/validate/loginxml.jsp</result>
         </action>	   
         
   * 测试
   
   * 创建xml验证文件
       * 验证的规范规范在xwork-core-2.1.6.jar\xwork-validator-1.0.3.dtd
       * 验证规则的配置文件:xwork-core-2.1.6,jar\com\opensymphony\xwork2\validator\validators\default.xml
       
       * 对action中所有的方法进行验证
          * xml文件名称定义的格式: actionClassName-validation.xml
              * actionClassName是请求的action的简单类名
              * -validation.xml固定写法
          * 该xml文件要和action放置在同一个目录下
          * 本例为:ValidateXmlAction-validation.xml
          
          * 配置如下 :
                        <?xml version="1.0" encoding="UTF-8"?>
						 <!DOCTYPE validators PUBLIC
						  		"-//OpenSymphony Group//XWork Validator 1.0.3//EN"
						  		"http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
						<validators>
						    <!--  
						        field:字段验证
						          * name="username":要验证的action中的属性,这里是ValidateXmlAction的username属性
						     -->
						    <field name="username">
						       <!-- 
						            这里验证用户名不能为空
						           field-validator:指定验证器
						              type:验证规则:validator name="requiredstring" 
						                        class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"
						        -->
						       <field-validator type="requiredstring">
						           <!-- 调用RequiredStringValidator中的setTrim(true) -->
						          <param name="trim">true</param>
						          <!-- 验证出错的提示信息 -->
						          <message><![CDATA[用户名不能为空]]></message>
						       </field-validator>
						    </field>
						     <field name="psw">
						       <!-- 
						            这里验证用户名不能为空
						           field-validator:指定验证器
						              type:验证规则:validator name="requiredstring" 
						                        class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"
						        -->
						       <field-validator type="requiredstring">
						           <!-- 调用RequiredStringValidator中的setTrim(true) -->
						          <param name="trim">true</param>
						          <!-- 验证出错的提示信息 -->
						          <message><![CDATA[密码不能为空]]></message>
						       </field-validator>
						       
						       <!-- 验证密码的长度在6-12之间
						            validator name="regex" 
						            class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator" -->
						       <field-validator type="regex">
						          <param name="expression"><![CDATA[^[a-zA-Z0-9]{6,12}$]]></param>
						          <message><![CDATA[密码的长度应该在6-12之间]]></message>
						       </field-validator>
						    </field>
						</validators> 		    
       
       
       
       
       * 对action指定的方法进行验证
            * xml文件名称定义的格式: actionClassName-actionName-validation.xml
              * actionClassName是请求的action的简单类名
              * actionName:请求的action的名称
              * -validation.xml固定写法
            * 该xml文件要和action放置在同一个目录下
          
            * 本例为:ValidateXmlAction-validateXmlAction_login-validation.xml
            * 配置如下 :
   
   * 在jsp页面时
        * 使用 <s:fielderror/>显示错误信息
        
   * 测试      
         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值