2017-04-20 37 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

最後如何解析它? –

相關問題