2013-10-15 83 views
0

我使用Drools的電子表格,我希望用戶能夠在條件單元格中添加複雜的代碼。但由於某種原因,這不起作用。Drools條件不適用於eval()

下面是一個例子:

Example

在條件單元的代碼是有效的,但我從Drools的編譯器以下異常:

[17,0]: [ERR 102] Line 17:0 mismatched input '' 
[11,330]: [ERR 101] Line 11:330 no viable alternative at input 'partnumber' in rule "CAS_12" 

我希望你們能幫助我..謝謝!


[更新]

,我發現我的問題的解決方案:EscapeQuotes屬性設置爲false後,在條件細胞上的文字被轉發,因爲它是eval函數。這樣我可以在單元格內使用DRL進行編程。

這是如何設置的屬性:

enter image description here

+0

你怎麼從你實際上得到部分號碼?你能顯示更多的你的決定表? – kaskelotti

回答

1

我只是找到了解決辦法:

我不得不這樣做,是增加EscapeQuotes = false來判定表格屬性。這樣一來,「不被Drools的逃了出來,在條件單元格中輸入文本將被使用,因爲它是。

謝謝你的幫助呢!

+0

雖然我的情況不同,但我設法遇到了完全相同的錯誤信息。你究竟在哪裏添加了這個屬性? – kaskelotti

+0

我發現我的搜索是你可以得到這個錯誤如果您的語言環境使用Drools不支持的引號(非ascii),有些人設法通過轉義字符串來解決這個問題,例如'partnumber str [startswith] \「ABC \''。我雖然 – kaskelotti

+0

我更新了我的第一篇文章的解決方案和一個圖像顯示在哪裏設置屬性。它位於Drools descision表格的電子表格標題中。 – Nuker