有人可以让我知道如何在 mule 中连接多个值吗?
就像是,
#[payload.getPayload()].concat(#[getSubject()])
我假设您使用的是 Mule 3.3.x 或更高版本。如果是这样,您可以使用 Mule 表达语言(MEL)。
使用 MEL 的一个示例是:
#['Hello' + 'World']
或者 MEL 还允许您使用标准 Java 方法调用:
#[message.payload.concat(' Another String')]
骡子 4 更新
对于 Mule 4。Dataweave 2.0 是主要的表达语言:
简单的连接:
#['Hello' ++ ' World']
其他替代方法是使用Mule Design插件:
根据需要多次删除“附加字符串”操作。
此操作获取上一步的消息有效负载并将指定的字符串连接到它。不确定性能细节,但肯定会更容易维护。
您可以使用表达式组件声明字符串缓冲区
<expression-component doc:name="Expression"><![CDATA[StringBuffer sb = new
StringBuffer();
flowVars.stBuffer=sb;
]]></expression-component>
然后在流中的任何位置附加使用附加到字符串缓冲区。
flowVars.stBuffer.append("要追加的字符串")
完成后用于#[flowVars.stBuffer]
访问连接的字符串
如果您想在 mule 流中添加通过有效负载接收到的两个不同的值,那么我们可以使用 concat() 方法。
例如下面我们通过arraylist接收到值,我在其中添加了两个不同的字段,即FirstName和LastName -
concat(#[payload[0].'firstname']," "#[payload[0].'lastname']