本文中所有文件在同一Package下:
excelDrools.drt//规则编译模板
template header
space
chageNum
gainFlag
MaxNum
from
remark
package com.cheng_xy.drools.excel.util
import com.cheng_xy.drools.excel.bean.ExcelDrollsInputParam;
import com.cheng_xy.drools.excel.bean.ExcelDroolsOutputParam;
global ExcelDroolsOutputParam output;
template "Excel规则模板"
rule " Drools_@{remark}"
when
ExcelDrollsInputParam(space == "@{space}",starting matches "@{from}",betweenNum <= @{MaxNum})
then
output.setChageNum("@{chageNum}");
output.setGainFlag("@{gainFlag}");
output.setRemark("==说明==" + "@{remark}");
end
end template
excelDrools.drt//简单描述
1 template header
2 space
3 chageNum
4 gainFlag
5 MaxNum
6 from
7 remark
8
9 package com.cheng_xy.drools.excel.util
10
11 import com.cheng_xy.drools.excel.bean.ExcelDrollsInputParam;
12 import com.cheng_xy.drools.excel.bean.ExcelDroolsOutputParam;
13
14 global ExcelDroolsOutputParam output;
15
16 template "Excel规则模板"
17
18 rule " Drools_@{remark}"
19 when
20 ExcelDrollsInputParam(space == "@{space}",starting matches "@{from}",betweenNum <= @{MaxNum})
21 then
22 output.setChageNum("@{chageNum}");
23 output.setGainFlag("@{gainFlag}");
24 output.setRemark("==说明==" + "@{remark}");
25 end
26
27 end template
第1行:所有规则模板以template header开始。
第2-7行:在标题之后是按照它们在excel表中数据顺序排列的列名。
第8行:空行表示excel数据中列定义的结束。
第9-15行:标准规则标题文本。这是DRL的标准规则,将出现在生成的DRL的顶部。将package语句和任何导入以及全局和函数定义放入本节。
第9行:package:对一个规则文件而言,package是必须定义的,必须放在规则文件第一行。特别的是,package的名字是随意的,不必必须对应物理路径,跟java的package的概念不同,这里只是逻辑上的一种区分。同样的package下定