【发布时间】:2013-11-15 06:49:55
【问题描述】:
我们可以在 Excel 表中编写 Drool 规则吗? 规则可以用于简单的人类可读内容吗? 如果我们可以那么它怎么能做到呢? 请解释一下。
【问题讨论】:
-
什么是“流口水规则”?
-
基本上流口水的是你从这里得到的:jboss.org/drools
标签: drools
我们可以在 Excel 表中编写 Drool 规则吗? 规则可以用于简单的人类可读内容吗? 如果我们可以那么它怎么能做到呢? 请解释一下。
【问题讨论】:
标签: drools
是的,你可以。阅读用户指南中名为“电子表格中的决策表”的部分怎么样?
http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e1157
【讨论】:
最好从使用 Eclipse Drools 插件生成的示例规则 excel 开始。它提供了许多已经设置好的东西。只需更改内部数据并为您的程序使用 Excel 决策表。在这个Drools Decision Table Tutorial 中,同样的方法用于 Drools 6.4
【讨论】:
是的,您可以在电子表格 Xls 中编写规则,上传后这些规则将自动转换为 drl。 如果您有许多具有不同值的类似规则,则可以使用 Drools 决策表。 您可以在 Excel 电子表格(.xls 文件)中定义决策表。
我附上了可以帮助你的简单规则文件 在这个例子中,我们根据租房者的年龄、时间(贷款期限)和性别来决定费率。
数据模型:
package demopro.demopro;
/**
* This class was automatically generated by the data modeler tool.
*/
public class Customer implements java.io.Serializable
{
static final long serialVersionUID = 1L;
private java.lang.Integer time;
private java.lang.Integer age;
private java.lang.Integer interest;
private java.lang.String gender;
private java.lang.Integer rate;
private java.lang.Integer amount;
public Customer()
{
}
public java.lang.Integer getTime()
{
return this.time;
}
public void setTime(java.lang.Integer time)
{
this.time = time;
}
public java.lang.Integer getAge()
{
return this.age;
}
public void setAge(java.lang.Integer age)
{
this.age = age;
}
public java.lang.Integer getInterest()
{
return this.interest;
}
public void setInterest(java.lang.Integer interest)
{
this.interest = interest;
}
public java.lang.String getGender()
{
return this.gender;
}
public void setGender(java.lang.String gender)
{
this.gender = gender;
}
public java.lang.Integer getRate()
{
return this.rate;
}
public void setRate(java.lang.Integer rate)
{
this.rate = rate;
}
public java.lang.Integer getAmount()
{
return this.amount;
}
public void setAmount(java.lang.Integer amount)
{
this.amount = amount;
}
public Customer(java.lang.Integer time, java.lang.Integer age,
java.lang.Integer interest, java.lang.String gender,
java.lang.Integer rate, java.lang.Integer amount)
{
this.time = time;
this.age = age;
this.interest = interest;
this.gender = gender;
this.rate = rate;
this.amount = amount;
}
}
决策表(电子表格):
【讨论】: