2011-03-27 224 views
0

在Spring表達式語言(SpEL)中,每個文本關係運算符都有一個符號等價物。例如,eq可以寫爲==,而lt可以寫爲<(來源here)。Spring SpEL邏輯運算符

然而,邏輯運算符沒有象徵性的等價物 - 至少據我所知。我必須使用andor&|的預期表示法不存在(由於某種原因,not不同,它具有相同的!)。

任何想法如果&|可用,或者如果有可能擴展Spring來支持它們?

回答

0

你必須看看org.springframework.expression.spel.standard.Tokenizer在方法process()在那裏你會發現|,&,||並且不支持& &。添加這將需要繼承Tokenizer並且繼承org.springframework.expression.spel.standard.InternalSpelExpressionParser的子類,因爲在它的.doParseExpression()方法中,Tokenizer被直接實例化... Spring 3.1版本的源代碼由我來完成。