編輯pom.xml 檔案,添加依賴

與決策表(不一定需要電子表格)相關的是“規則模闆”( drools-templates 子產品中)。它們使用任 何表格式的資料源作為一個規則資料源——填入模闆産生多數規則。 這可以允許兩個更靈活的電子表 格,而且執行個體在現有的資料庫中管轄(代價是預先開發産生規則的模闆)。 利用規則模闆, 資料與規則分離,并且有關規則的資料驅動部分沒有限制。是以,你同時可以做你在 規則表中能夠做的任何事情,你也可以做到以下幾點:
- 存儲你的資料在資料庫中(或者任何其他格式)。
- 根據資料的值有條件地産生規則。
- 為你的規則的任何部分使用資料(例如,條件運算符,類名,屬性名)。
- 在相同的資料上運作不同的模闆。
我們先來一下 模闆檔案是如何編寫的: 首先先要引入一個xls檔案 檔案名要與配置檔案中保持一緻,路徑也是一樣的 後面會對這個xls檔案說明
編輯drt檔案 檔案名要與配置檔案中保持一緻,路徑也是一樣的 最好是将xls與drt 檔案 放在同一下目錄下
template header #注:template header 固定寫法,必須在模闆的最開始部分
age #注: age log 表示标題的是依次顯示資料的列的清單。在這個案例中,我們命名第一列為"age",第三列為"log"
log
#注:這裡是一空行,表示定義結束
package rules.testdrt;
import com.drools.api.rule.Person;
global java.util.List list;
template "cheesefans" #注"template" 關鍵字通知一個規則模闆開始。在一個模闆檔案中可能超過一個模闆。模闆應該有一個唯一的名字
rule "Cheese fans_@{row.rowNumber}"#注:@{row.rowNumber}, 它給每個資料行一個唯一的數字, 使你能産生唯一的規則名字
when
Person(age == @{age})
then
list.add("@{log}");
end
end template
#上面是一個标準的模闆的寫法 可能寫的比較亂,那請參考下面完整的例子
#在xls中的列資料要與 規則模闆中用來做操作的類型包括java中的類型要保持一緻。否則會報錯,但要注意的一點是 如果用的是String類型的 在模闆中引用 必須是要加 “”的 @{age} 是數字類型的 是以可以省略不加
template header
age
log
package rules.testdrt;
import com.drools.api.rule.Person;
global java.util.List list;
template "cheesefans"
rule "Cheese fans_@{row.rowNumber}"
when
Person(age == @{age})
then
list.add("@{log}");
end
end template
完整的規則模闆的說明 其實就是将xls中的資料填寫到模闆檔案中對應的 占位符上。但在編寫xls有幾個細節要注意一下: 第一點:xls中的具體行資料是根據配置檔案row值來确定的,如果設定為row="1"則表示從第一行開始取資料 第二點:xls中的具體列資料是根據配置檔案col值來确定的,如果設定為col="1"則表示從第一列開始取資料 具體的java調用,其實與執行規則時的是一樣的:
還有一個有變化的地方就是配置檔案:
ruleTemplate 規則模闆, dtable引用xls檔案,表示二維表 template是具體的模闆檔案 row/col表示行/列,引用xls的話 該值是不能省略的。 還有一種不通過 xls引用的方式來實作 規則模闆 請參考:http://blog.csdn.net/u013115157/article/details/52029258
下面是小編的微信轉帳二維碼,小編再次謝謝讀者的支援,小編會更努力的
----請看下方↓↓↓↓↓↓↓
百度搜尋 Drools從入門到精通:可下載下傳開源全套Drools教程
深度Drools教程不段更新中:
更多Drools實戰陸續釋出中………
掃描下方二維碼關注公衆号 ↓↓↓↓↓↓↓↓↓↓