根据XML配置规则导入Excel数据(四)添加数据有效验证

简介:
package com.ivfly.xlsbean; 

import java.lang.reflect.InvocationTargetException; 

import org.apache.commons.beanutils.MethodUtils; 
import org.apache.commons.lang.StringUtils; 

/** 
* xls 导入规则 
* @author Administrator 

*/
 
public  class XlsImpRule { 
    
     private StringBuffer output =  new StringBuffer(); 
   /** 
    * 验证数据的合法性 
    * @param propertyName 
    * @param value 
    * @return TRUE:表示通过 
    */
 
   public Boolean validateProperty(BeanSpecification bs,String propertyName,Object value){ 
    PropertySpecification ps =    bs.getProperty().get(propertyName); 
    String formular = ps.getFormular(); 
     if(StringUtils.isBlank(formular)){ 
       return  true
    } 
    String ismethodName =  "is"+StringUtils.capitalize(formular); 
    String setmethodName =  "set"+StringUtils.capitalize(formular); 
    Object result =  null
     try { 
      result = MethodUtils.invokeStaticMethod(ValidateUtil. class,ismethodName,value.toString()); 
        
    }  catch (NoSuchMethodException e) { 
      e.printStackTrace(); 
//      try { 
//        result = MethodUtils.invokeStaticMethod(ValidateUtil.class,setmethodName,value); 
//      } catch (Exception es) { 
//        es.printStackTrace(); 
//      }    
    }  catch (IllegalAccessException e) { 
      e.printStackTrace(); 
    }  catch (InvocationTargetException e) { 
      e.printStackTrace(); 
    } 
     if(result!=  null){ 
       return (Boolean)result; 
    } 
     return Boolean.TRUE; 
  } 
   /** 
    * 添加某属性警告 
    * @return 
    */
 
   public  void addPropertyWarrning( int rowNum,BeanSpecification bs,String propertyName){ 
    PropertySpecification ps =    bs.getProperty().get(propertyName); 
    String wf = ps.getWarringFormat(); 
    String result = String.format(wf,ps.getValue()); 
    output.append( "第"+rowNum+ "行数据:"); 
    output.append(result).append( "\n"); 
  } 
   /** 
    * 报告警告信息 
    * @return 
    */
 
   public String reportWarrning(){ 
     return output.toString(); 
  } 

 
根据xml 中property节点定义formular定义验证规则,验证对应属性cell值是否合法。
同时,还提供了错误信息生成功能,则根据property节点的warringFormat属性 与Value值合成。



本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/756537,如需转载请自行联系原作者
相关文章
|
8月前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
409 0
|
XML Java 数据库连接
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
446 21
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
551 6
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
652 5
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
375 0
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
378 1
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
373 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1322 8

相关课程

更多