java spel表达式执行字符串代码
时间: 2023-11-25 13:05:49 浏览: 159
Java 中运行字符串表达式的方法
5星 · 资源好评率100%
Java 中也有类似 Python 中 `eval()` 的函数,叫做 `ExpressionParser`,它可以解析 SpEL 表达式并计算表达式的值。
以下是一个示例代码:
```java
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.Expression;
public class Main {
public static void main(String[] args) {
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("1 + 2 * 3");
int result = (Integer) exp.getValue();
System.out.println(result);
}
}
```
输出结果为 `7`。
需要注意的是,虽然 `ExpressionParser` 可以执行 SpEL 表达式,但是同样要避免执行未知或不可信的字符串代码,以防止安全风险。
阅读全文