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

Java 如何创建从UI获取值并创建drl文件的规则模板?,java,jersey,drools,Java,Jersey,Drools,我从html页面中获取了值,并将它们设置为java类。现在使用这些值,我必须创建一个动态创建drl文件的规则模板。 规则应该类似于当我有productid=2 product=jwellery,然后显示mrp protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException { String product=request.getPa

我从html页面中获取了值,并将它们设置为java类。现在使用这些值,我必须创建一个动态创建drl文件的规则模板。 规则应该类似于当我有productid=2 product=jwellery,然后显示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

下面的模板是从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

事实上,这条规则相当枯燥,因为它只打印产品数据。

下面的模板是从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

事实上,这条规则相当枯燥,因为它只打印产品数据。

为什么需要“动态创建DRL文件”?你会以什么为基础来创作这部作品?你有规则的模板吗?你的问题让你知道什么和不知道什么都没有答案。我想要一个根据用户输入动态创建规则的模板,而不是手动创建drl文件。规则模板就是我想要的。它是如何创建的?如果我有这个规则,那么模板将是什么..规则“药品价格”当项目:产品(pid==1,pname==“药品”)然后是System.out.println(“产品ID=“+item.getPid()+”\tProduct Name=“+item.getPname()+”\tMRP=“+item.getMrp());结束规则“食品价格”,当项目:Product(pid==2,pname==groceries)然后System.out.println(“产品ID=“+item.getPid()+”\tProduct Name=“+item.getPname()+”\tMRP=“+item.getMrp());你为什么不编辑你的问题?你看不懂。为什么你需要“动态创建DRL文件”?你会以什么为基础来创作这部作品?你有规则的模板吗?你的问题让你知道什么和不知道什么都没有答案。我想要一个根据用户输入动态创建规则的模板,而不是手动创建drl文件。规则模板就是我想要的。它是如何创建的?如果我有这个规则,那么模板将是什么..规则“药品价格”当项目:产品(pid==1,pname==“药品”)然后是System.out.println(“产品ID=“+item.getPid()+”\tProduct Name=“+item.getPname()+”\tMRP=“+item.getMrp());结束规则“食品价格”,当项目:Product(pid==2,pname==groceries)然后System.out.println(“产品ID=“+item.getPid()+”\tProduct Name=“+item.getPname()+”\tMRP=“+item.getMrp());你为什么不编辑你的问题?无法读取此内容。因此,这将创建一个drl文件还是直接显示输出,因为我想创建一个drl文件来获取值。抱歉,我对drools非常陌生,这就是为什么会出现此类问题。这只是一个模板。您必须处理它,为id和name值提供数据集。然后你会有一个包含许多规则的DRL文件,你可以将其编译成规则并执行。最后如何解析它?那么这将创建一个DRL文件还是直接显示输出,因为我想创建一个DRL文件来获取值。对不起,我对drools非常陌生,这就是为什么会有这样的问题。这只是一个模板。您必须处理它,为id和name值提供数据集。然后,您将拥有一个包含许多规则的DRL文件,您可以将其编译成规则并执行。最后,如何解析它?