2011-07-06 16 views
3

を使用して式をフィルタリング:春の統合は、私が許可された値のリストを持っているコンフィグレーションBeanを持ってSPEL

@Component 
public class Conf { 
    public List<String> getAllowedValues() { 
     return Arrays.asList("A", "B", "C", "D"); 
} 

私は「someValueの」と呼ばれる分野での私のメッセージヘッダを埋めていると私は、フィルタエレメントを使用したいですsomeValueが許容値リストにないメッセージを除外します。

私の状況は次のようになります。

<int:filter expression="#{conf.allowedValues}.contains(headers.get('someValue'))"/> 

しかし、私は得る:SpelParseException: EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'comma(,)'

答えて

2

答えはhereを提供されました:

<int:filter expression="@conf.allowedValues.contains(headers.get('someValue'))"/> 
0

私は解決策(最高かもしれない)単純ですこのため。

<int:filter expression="{"A", "B", "C", "D"}.contains(headers.get('someValue'))" /> 

reference

関連する問題