我需要从配置文件中读取值,并且一直遇到嵌入式MEL语句的问题;我追逐多个死胡同,没有想法。我使用一个会话变量将其提取为一个相当简单的示例。
谢谢,
以下代码在以下情况下失败:
消息:错误:丢失左节点
[近:{.message.payload.contains(#[sessionVars'valueToMatch']) .}
<set-session-variable variableName="valueToMatch" value="Now we are engaged in a great civil war" />
<choice doc:name="Choice">
<when expression="#[message.payload.contains(#[sessionVars['valueToMatch']])]">
<set-session-variable variableName="success" value="true" />
</when>
<otherwise>
<set-session-variable variableName="success" value="false" />
</otherwise>
</choice>然而,以下代码起作用:
<choice doc:name="Choice">
<when expression="#[message.payload.contains('Now we are engaged in a great civil war')]">
<set-session-variable variableName="success" value="true" />
</when>
<otherwise>
<set-session-variable variableName="success" value="false" />
</otherwise>
</choice>发布于 2015-01-01 18:17:03
我的猜测是,问题在于您要在表达式中放置一个分隔的表达式,尝试如下:
"#[message.payload.contains(sessionVars['valueToMatch'])]"而不是这个
"#[message.payload.contains(#[sessionVars['valueToMatch']])]"发布于 2015-01-02 06:58:57
试试这个#[message.payload contains valueToMatch] ..。它将完美而简单地工作:-
<set-session-variable variableName="valueToMatch" value="Now we are engaged in a great civil war" />
<choice doc:name="Choice">
<when expression="#[message.payload contains valueToMatch]">
<set-session-variable variableName="success" value="true" />
</when>
<otherwise>
<set-session-variable variableName="success" value="false" />
</otherwise>
</choice>https://stackoverflow.com/questions/27724309
复制相似问题