Drools规则模板使用之Excel

简介: Drools规则模板使用之Excel

规则模板简介

规则模板是使用模板文件和表格数据源即时生成DRL规则的方法。

表格数据源是指可以用表格中展示的数据,典型的介绍是数据库和Excel。

如果根据存储在应用程序之外的数据来生成规则?解决方案之一就是:规则模板

规则模板的优势

规则的数据和结构完全分离

相同的模板可用于不同的数据集

同一数据集可用于不同的模板

与决策表相比,提供了极大的灵活性。

规模模板的语法结构


template header 开头
变量(比如,id)
空行(表示header结束)
template
package
import
rule规则名称
规则属性
when、then、end,使用方法@{id}
end template

示例:

template header
id
username
package com.template;
import com.secbro2.drools.demo.Person;
template "template-rules"
rule "Categorize Persons_@{row.rowNumber}"
no-loop true
when
       $p: Person(id == @{id})
then
       modify ($p){ setUsername("@{username}")};
end
end template

规则模板实战

kmodule.xml配置


<kbase packages="com.template" name="test-template">

       <ruleTemplate dtable="com/template/template.xls" template="com/template/template.drt" row="2" col="1"/>

   </kbase>


xls文件内容:


编号 名称

1 Tom

2 Lucy

执行程序:


public class Demo15 extends BaseDemo {
  public static void main(String[] args) {
    KieServices kieServices = KieServices.Factory.get();
    KieBase kieBase = kieServices.getKieClasspathContainer().getKieBase("test-template");
    KieSession kieSession = kieBase.newKieSession();
    Person p = new Person(2,"");
    kieSession.insert(p);
    kieSession.fireAllRules();
    System.out.println(p.getUsername());
  }
}

打印结果:Lucy。

目录
相关文章
|
6月前
|
前端开发 Java
SpringBoot下载xlsx模板,导出excel数据
SpringBoot下载xlsx模板,导出excel数据
459 0
|
JSON Java 应用服务中间件
利用esaypoi自定义Excel表格模板导入与导出表单数据
今天工作中又遇到了excel导出数据的功能,在这里我将自己自定义的Excel模板和相关的代码拿出来,解释一下如何进行操作,以便日后能够方便的进行功能开发,提高效率。
698 0
|
前端开发 Java API
Java原样导出excel模板
Java原样导出excel模板
139 0
|
6月前
|
Java
Java 读取 Excel 模板,将数据填入Excel表格,后转换为PDF文件(实用)
Java 读取 Excel 模板,将数据填入Excel表格,后转换为PDF文件(实用)
429 0
|
6月前
|
算法
通过EXCEL模板题库进行随机组卷的一些设计思路
通过EXCEL模板题库进行随机组卷的一些设计思路
C#写入模板excel数据
C#写入模板excel数据
72 0
|
数据可视化 开发工具 git
只会Excel想做图表可视化,让数据动起来?可以,快来围观啦(附大量模板下载)
只会Excel想做图表可视化,让数据动起来?可以,快来围观啦(附大量模板下载)
|
SQL HIVE
附模板和代码 | Excel数据模型自动生成Hive建表语句
在日常数据开发过程中,会经常需要根据数据模型编写建表语句,每次写建表语句都会用几分钟的时间,而且还容易出一些低级的错误,于是打算做个 Excel 模板,把表字段、表分区、表名写在里面,通过程序自动生成建表语句
|
easyexcel
根据指定Excel模板填充导出数据
根据Excel模板填充优先推荐阿里的EasyExcel,github地址:https://github.com/alibaba/easyexcel。
|
存储
有关使用Excel读取用户上传模板问题
有关使用Excel读取用户上传模板问题
99 0