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