如何创建一个从UI获取值并创建drl文件的规则模板?

时间:2017-04-20 07:41:34

标签: java jersey drools

我从html页面获取值并将它们设置为java类。现在获取这些值我必须创建一个动态创建drl文件的规则模板。 规则应该像我有productid = 2 product = jwellery thendisplay mrp

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

1 个答案:

答案 0 :(得分:0)

下面的模板是在您自己阅读的Drools文档中进行的一些细微修改。

template header
id
name

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

实际上,规则相当沉闷,因为它只打印产品数据。