2017-04-20 33 views
0

我已经从一个HTML页面的值,并将其设置为一个Java类。现在考虑这些值,我必须创建一个动态创建drl文件的规则模板。 的规则应该是当我的ProductID = 2产品如= jwellery thendisplay MRP如何创建一个从UI获取值并创建drl文件的规则模板?

protected void doGet(HttpServletRequest request, HttpServletResponse 
response)throws ServletException,IOException 
{ 
String product=request.getParameter("t1"); 
int pid=Integer.parseInt(request.getParameter("t2")); 
String city=request.getParameter("t3"); 
int cid=Integer.parseInt(request.getParameter("t4")); 
int mrp=Integer.parseInt(request.getParameter("t5")); 
float tax=Float.parseFloat("t6"); 
TemplateManager tm=new TemplateManager(); 
tm.setProduct(product); 
tm.setPid(pid); 
tm.setCity(city); 
tm.setCid(cid); 
tm.setMrp(mrp); 
tm.setTax(tax); 
} 

考虑一下,如果我有这样的规则,那么会是怎样的模板。

rule "price for medicines" 
when 
    item: Product(pid==1, pname=="Medicine") 
then 
    System.out.println("Product ID="+item.getPid()+ "\tProduct Name="+ item.getPname()+ "\tMRP="+item.getMrp()); 
end 
rule "price for groceries" 
when 
    item: Product(pid==2, pname=="Groceries") 
then 
    System.out.println("Product ID="+item.getPid()+ "\tProduct Name="+item.getPname()+ "\tMRP="+item.getMrp()); 
end 
+0

为什么你需要“动态创建DRL文件”?你会基于什么创造?你有规则的模板吗?你的问题使得它广泛开放你知道的和你不知道的东西。 – laune

+0

而不是手动创建drl文件,我想要一个模板,根据用户输入动态创建规则。规则模板是我所要求的。它是如何创建 –

+0

考虑,如果我有这样的规则,那么会是怎样的模板.. –

回答

0

下面的模板是从您自己读过的Drools文档中稍作修改而来的。

template header 
id 
name 

rule "price @{name} @{row.rowNumber}" 
when 
    item: Product([email protected]{id}, pname=="@{name}") 
then 
    System.out.println("Product ID="+item.getPid()+ "\tProduct Name="+item.getPname()+ "\tMRP="+item.getMrp()); 
end 

事实上,该规则相当迟钝,因为它只是打印产品数据。

+0

所以这会创建一个drl文件,或者它会直接显示输出,因为我想创建一个drl文件来获取这些值。对于流口水,我很新,这就是为什么有这样的问题。 –

+0

这只是一个模板。您必须处理它,为id和name值提供数据集。然后您将拥有一个包含许多规则的DRL文件,您可以将它们编译成规则并执行。 – laune

+0

最后如何解析它? –

相关问题