在 Spring 表达式语言 (SpEL) 中,每个文本关系运算符都有一个符号等价物。例如,eq
可以写成==
, 并且lt
可以写成<
(source here )。
然而,逻辑运算符没有符号等价物 - 至少据我所知。我必须使用and
and , andor
的预期符号不存在(由于某种原因不同,它具有等价物)。&
|
not
!
知道是否可用&
,|
或者是否可以扩展 Spring 以支持它们?
你必须看看你会org.springframework.expression.spel.standard.Tokenizer
在process()
哪里实现|,&,||的方法 和 && 不受支持。添加这将需要对 Tokenizer 进行子类化,并且还需要对 Tokenizer 进行子类化,org.springframework.expression.spel.standard.InternalSpelExpressionParser
因为在其 .doParseExpression()` 方法中直接实例化了 Tokenizer ... Spring 3.1 版本的源代码由我获取。