0

这是一个流口水的初学者问题。我查看了文档和代码示例,但仍然无法弄清楚应该做什么非常简单。

在我的 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)
...

我错过了什么?

4

1 回答 1

1

在 Drools 5.5 中,这应该有效:

when
  ...
  HttpServletRequest( getHeader("X-REQUESTED-PAGE").equals("xxx") ) from $servletRequest
then
于 2013-01-03T08:09:25.200 回答