我们可以在 Excel 表中编写 Drool 规则吗?规则可以用于简单的人类可读内容吗?如果我们可以那么它怎么能做到呢?请解释。
问问题
18366 次
3 回答
4
是的你可以。如何阅读名为“电子表格中的决策表”的用户指南部分?
http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e1157
于 2013-11-15T09:26:10.390 回答
0
是的,您可以在电子表格 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;
}
}
决策表(电子表格):
于 2017-02-14T05:49:28.453 回答
0
最好从使用 Eclipse Drools 插件生成的示例规则 excel 开始。它提供了许多已经设置好的东西。只需更改内部数据并为您的程序使用 Excel 决策表。在这个Drools 决策表教程中,同样的方法用于 Drools 6.4
于 2016-05-26T03:33:52.280 回答