2013-05-30 40 views
0

我有一個駱駝路由,在Spring XML中配置了幾個步驟。在最後一步之後,我想使用Exchange屬性中的值設置標題條目Content-Type。我怎樣才能做到這一點?將駱駝交換屬性寫入HTTP標頭

<route id="servlet.direct">   
    <from uri="direct:onlinePlatformExport"/> 
    <bean ref="exportService" method="doSomething"/> 
    <to uri="smooks://META-INF/spring/a.xml"/>     
    <bean ref="charsetConverterService" method="convertBody"/> 
    <setHeader headerName="Content-Type"> 
     <constant>text/xml</constant> 
    </setHeader> 
</route> 

回答

1

我找到了答案。您可以使用Groovy訪問交換對象。

<setHeader headerName="Content-Type"> 
    <groovy>"text/xml; charset=${exchange.properties[<your-key>]}"</groovy> 
</setHeader> 
0

你可以做到這一點如下:

<setHeader headerName="Content-Type"> 
    <simple>${property.myProperty}</simple> 
</setHeader> 
+0

好知道。當我想將一個屬性的整個值傳遞給標題時,這是有效的。如果我想創建一個包含屬性值的新值,我必須使用還是可以使用? – saw303

+1

''甚至可以使用以下形式:'文本文本$ {<某指令>}文本文本'。但要注意特殊字符。我相信下面的東西會按預期工作' text/xml; charset = $ {property.myProperty}' –