如何在Excel工作表中编写Drool规则?

时间:2013-11-15 06:49:55

标签: drools

我们可以在Excel工作表中编写Drool规则吗? 规则可用于简单的人类可读内容吗? 如果我们能够如何做到这一点? 请解释一下。

3 个答案:

答案 0 :(得分:2)

是的,你可以。如何阅读名为“Spreadsheets中的决策表”的用户指南部分?

http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e1157

答案 1 :(得分:0)

最好从使用Eclipse Drools Plugin生成的示例规则excel开始。它提供了许多已经设置的东西。只需更改内部数据,并为您的程序使用excel决策表。在这个Drools Decision Table Tutorial中,Drools 6.4使用了相同的方法

答案 2 :(得分:0)

是的,您可以在Spread Sheet Xls中编写规则,上传后这些规则会自动转换为drl。 如果您有许多具有不同值的类似规则,则可以使用Drools Decision Tables。 您可以在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;
   }    
}

决策表(SpreadSheet):

enter image description here