当通过 属性 文件加载一个字符串时,如何比较 mule 表达式中的字符串?
How do you compare strings in a mule expression when one string is loaded via a property file?
我在选择组件中有以下 mule 表达式:
<choice doc:name="Choice">
<when expression="'localhost' == ${environment}">
... Do something
</when>
环境 属性 是通过 属性 文件加载的,似乎可以正确解析。但是,我收到以下错误:
[Error: unresolvable property or identifier: localhost]
[Near : {... 'localhost' == localhost ....}]
我也试过将表达式包裹在#[]中,并在比较中颠倒变量的顺序<when expression="${environment} == 'localhost'">
,但我得到了同样的错误。
你应该使用等于:
<when expression="#['localhost'.equals(${environment})]">
spring 属性 在解析 XML 之前进行插值,当环境 属性 等于 "localhost":
<choice doc:name="Choice">
<when expression="'localhost' == localhost">
... Do something
</when>
Mule 将查找名为 "localhost" 的流变量或会话变量,这可能不是您想要的。
试试这个:
<choice doc:name="Choice">
<when expression="'localhost' == '${environment}'">
... Do something
</when>
制作
表达式 ="'localhost' == '${environment}'"
将解决问题。在表达式右侧需要是另一个要比较的字符串,但在您的代码中它将被转换为“'localhost' == localhost 因为它无法解析本地主机,即赋值运算符的右侧它会抛出错误
我在选择组件中有以下 mule 表达式:
<choice doc:name="Choice">
<when expression="'localhost' == ${environment}">
... Do something
</when>
环境 属性 是通过 属性 文件加载的,似乎可以正确解析。但是,我收到以下错误:
[Error: unresolvable property or identifier: localhost]
[Near : {... 'localhost' == localhost ....}]
我也试过将表达式包裹在#[]中,并在比较中颠倒变量的顺序<when expression="${environment} == 'localhost'">
,但我得到了同样的错误。
你应该使用等于:
<when expression="#['localhost'.equals(${environment})]">
spring 属性 在解析 XML 之前进行插值,当环境 属性 等于 "localhost":
<choice doc:name="Choice">
<when expression="'localhost' == localhost">
... Do something
</when>
Mule 将查找名为 "localhost" 的流变量或会话变量,这可能不是您想要的。
试试这个:
<choice doc:name="Choice">
<when expression="'localhost' == '${environment}'">
... Do something
</when>
制作
表达式 ="'localhost' == '${environment}'"
将解决问题。在表达式右侧需要是另一个要比较的字符串,但在您的代码中它将被转换为“'localhost' == localhost 因为它无法解析本地主机,即赋值运算符的右侧它会抛出错误