2013-07-02 69 views
0

我有兩種有效載荷的變量。我想用簡單的選擇。如果這個人是null,則選擇其他,例如:如何在騾esb中選擇正確的表達式

<choice> 
    <when expression="#[groovy:airportRequest.getCountryCode() != (null || '')]"> 

    </when> 
    <otherwise> 

    </otherwise> 
</choice> 

我不知道爲什麼第一個條件是總是如此。儘管在CountryCode爲空或空的空間。

+0

提到在後您的配置文件。這將有助於提供一個好的解決方案。 – user1760178

+0

你使用什麼Mule版本? –

+1

!=(null ||'')構造看起來有點不尋常。它可能首先評估(null ||'')(併產生一個0的中間結果),然後你檢查你的國家代碼是否爲0?測試我的想法的方法是獲得它!='',然後給它一個空的國家代碼。我確信騾不會介意在這裏有兩個表達式。 – rajah9

回答

0

它的工作:

<when expression="#[org.mule.util.StringUtils.isNotEmpty(airportRequest.getCountryCode())]"> 

也:

<when expression="airportRequest.getCountryCode() != empty"> 

由於文件說:

在MEL,關鍵字空測試值的空虛,並返回 布爾值true對於以下任何一項:

空布爾值false空字符串,或者只用空格0 值數值空集 http://www.mulesoft.org/documentation/display/current/Mule+Expression+Language+Examples

+0

出於好奇,怎麼樣:''? –

相關問題