2013-01-02 76 views
0

這是一個使用流口水的初學者問題。我查看了文檔和代碼示例,但仍然無法弄清楚應該做什麼非常簡單。使用流口水調用方法

在我的when語句中,我有一個類型爲HttpServletRequest的變量$ servletRequest。我知道如何調用不帶任何輸入參數的getter,比如getCharacterEncoding。即:

when 
    ... 
    HttpServletRequest(characterEncoding == "xxx") from $servletRequest 
then 

的作品。但是,我不知道如何調用需要輸入參數的getter。也就是說,我想從我的請求訪問頭「X請求-PAGE」,但下面不工作:

when 
    ... 
    HttpServletRequest(header["X-REQUESTED-PAGE"] == "xxx") from $servletRequest 
then 

它給了我一個例外:

org.drools.RuntimeDroolsException: Exception executing predicate header["X-REQUESTED-PAGE"] == "xxx" 
    at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:279) 
... 

上午什麼我錯過了?

回答

1

在Drools的5.5,這應該工作:

when 
    ... 
    HttpServletRequest(getHeader("X-REQUESTED-PAGE").equals("xxx")) from $servletRequest 
then 
+0

我愛你,我愛堆棧溢出。謝謝您的幫助。 – Lolo