这是drools的初学者问题。我查看了doc和代码示例,但仍然无法弄清楚应该做什么非常简单。
在我的when语句中,我有一个类型为HttpServletRequest的变量$ servletRequest。我知道如何调用不带任何输入参数的getter,例如getCharacterEncoding。即,这个:
when
...
HttpServletRequest( characterEncoding == "xxx" ) from $servletRequest
then
的工作原理。但是,我无法弄清楚如何调用需要输入参数的getter。即,我想从我的请求中访问标题“X-REQUESTED-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)
...
我错过了什么?
答案 0 :(得分:1)
在Drools 5.5中,这应该有效:
when
...
HttpServletRequest( getHeader("X-REQUESTED-PAGE").equals("xxx") ) from $servletRequest
then