在拼写表达式中声明变量



我在过去使用了很多MVel,并且我使用局部变量来使表达式更清晰。例如,我将传递这样一个表达式

myVar = 32; myVar * 2

然后我将使用MVel将其作为整数进行评估并得到结果64。

我无法在拼写文档中找到如何做到这一点(如果可能的话)。

更具体地说,如何使下面的块工作?

SpelExpressionParser expressionParser = new SpelExpressionParser();
Expression expression = expressionParser.parseExpression("myVar=32; myVar * 2");
Integer result = expression.getValue(Integer.class);
System.out.println("Result " + result);

没有'局部变量';在?。它完全基于Java,只能计算单个程序语句。你用MVel展示的本质上是两个句子。您可以将复杂的多句逻辑移动到Java方法中,并从SpEL表达式调用该方法。

更多信息(这是一个语言参考)在docs: https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#expressions

最新更新