我应该如何转义以下Java代码,以便在Spring EL表达式中使用它?
Java:
.replaceAll("[\p{Punct}&&[^"|\]|\[|+|\-|:|(|)|_|~|.|,|%|?]]", " ")
Spring EL,不解析:
<int:transformer
input-channel="splitTitles"
output-channel="lowercasedTitles"
expression="payload.toLowerCase().replaceAll('[\p{Punct}&&[^"|\]|\[|+|\-|:|(|)|_|~|.|,|%|?]]').trim()">
</int:transformer>
在基于XML的文件中指定属性值时,必须转义特殊字符(即&=&
,"="
)。此外,您没有为replaceAll方法调用指定第二个参数。试试这个,
<int:transformer
input-channel="splitTitles"
output-channel="lowercasedTitles"
expression="payload.toLowerCase().replaceAll('[\p{Punct}&&[^"|\]|\[|+|\-|:|(|)|_|~|.|,|%|?]]', ' ').trim()">
</int:transformer>