2014-05-11 60 views
4

我有一個變量my_variable與價值就像一個動態URL -騾子MEL做串上一個流量變量

http://stackoverflow.com/questions/ask 

我想做這個動態的URL字符串找到最後經過「字符串/「即在上面提到的URL的情況下,我想要得到子字符串」問「

我該如何使用MEL來做到這一點?

回答

0

您可以在變量上使用基本的Java String方法,如substring()和lastIndexOf()。

2

可以在MEL使用JDK類,其實這些軟件包自動進口(http://www.mulesoft.org/documentation/display/current/Mule+Expression+Language+Reference):

  • 的java.lang *
  • java.io. *
  • java.net *。
  • 的java.util。*
  • java.math.BigDecimal的
  • java.math.BigInteger的
  • javax.a ctivation.DataHandler
  • javax.activation.MimeType
  • java.util.regex.Pattern中
  • org.mule.api.transformer.DataType
  • org.mule.transformer.types.DataTypeFactory

這個流程在端口8081接收請求和返回路徑的最後一部分:

<flow name="testedbFlow3"> 
    <http:inbound-endpoint host="0.0.0.0" port="8081" /> 
    <expression-transformer expression="#[message.inboundProperties['http.request'].split(&quot;^.*/&quot;)[1]]"/> 
</flow> 
4

您可以使用字符串函數,它們availalb e來自java.lang包。

#[flowVars['my_variable'].substring(flowVars['my_variable'].lastIndexOf('/'))] 

希望這會有所幫助。

-1

[flowVars [ 'my_variable']。SUBSTRING(flowVars [ 'my_variable']。lastIndexOf( '/'))]

這是更簡單的一個

+0

這是相同@ user1760178的回答,除了你的是缺少必要的英鎊符號。 – Tony