zoukankan      html  css  js  c++  java
  • struts2验证学习笔记

     表单验证Validate:

    首先为Action提供<result name="input">错误信息的显示界面,如login.jsp</result>

    界面中调试标签<s:debug></s:debug>,可以查看值栈内容

    1.   使用addFieldError
       界面中任意位置可以用EL访问,形式如${errors.username[0]} (推荐)
      可以指定<s:fielderror />处显示全部出错信息。或者
      用<s:fielderror><s:param>username</s:param></s:fielderror>显示特定出错信息,但这种方式不如直接用EL灵活,这种方式显示的结果一定是另起一行的(块级的,相当于div)。 

       在Action(继承ActionSupport)中

      

    @Override
    
      public void validate() {
    
         // TODO Auto-generated method stub
    
         super.validate();
    
         if(null==username||"".equals(username)){
    
           addFieldError("username", "用户名不能为空!");
    
         }
    
         if(null==password||"".equals(password)){
    
           addFieldError("password", "密码不能为空!");
    
         }
    
      }
    

      

     注意validate方法还可以是validateXxx后面是Action自定义扩展的处理器方法名。由于Struts2通过反射实现调用,性能较差,而validate方法是通过接口Validateable调用的。

     2.    使用addActionError

      界面中为通用标记<s:actionerror/>

      Action中使用 addActionError("用户名不能为空!");

    3. 使用structs框架验证

     可配置化校验框架是通过validation拦截器组件实现的, 命名为Action类名-validation.xml或者Action类名-Action类逻辑名-validation.xml,或者Action类名-方法名-validation.xml.

    eg:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    <validators>
    	<field name="username">
    		<field-validator type="requiredstring">
    			<param name="trim">true</param>
    			<message>用户名不能为空!</message>	
    		</field-validator>
    	</field>
    	<field name="password">
    		<field-validator type="requiredstring">
    			<param name="trim">true</param>
    			<message key="password_null"/>
    		</field-validator>
    		<field-validator type="regex">
    			<!--  -->
    			<param name="expression"><![CDATA[(\w{4,10})]]></param>
    			<message>密码应为4-10位</message>
    		</field-validator>	
    	</field>
    </validators>
    

      

    有时候在一个Action中有不同的处理方法,每一个方法校验规则都不同。为每一个方法配置一个校验文件,命名为Action类名-方法名-validation.xml;对于在Action程序中的校验,若要分别写校验方法,则命名规则为validate+方法名(首字母大写)。

  • 相关阅读:
    OSG节点访问和遍历
    osg ifc数据渲染着色器
    osg qt kdchart 开发施工过程模拟软件
    KDChart example
    Qt kdChart 甘特图案例
    Qt KDChart编译
    osg 3ds模型加载与操作
    osg 三维模型加载与解析(fbx、3ds、ive、obj、osg)
    osg fbx 模型结构操作
    osg fbx 模型树结构
  • 原文地址:https://www.cnblogs.com/tazi/p/2281942.html
Copyright © 2011-2022 走看看