当前位置: 首页 > 工具软件 > MVEL > 使用案例 >

MVEL表达式入门

冯阳云
2023-12-01

1. 介绍

MVEL 是一种 java 中动态表达语言

2. 基本使用

  1. 引入 pom 包
<dependency>
	<groupId>org.mvel</groupId>
	<artifactId>mvel2</artifactId>
	<version>2.4.14.Final</version>
</dependency>
  1. 写简单demo
    MVEL 这种表达式语言普遍的执行模式是 表达式 + 绑定具体变量 -> 执行结果,类似于函数的执行过程。
    MVEL 类似于正则表达式,有两种执行模式,一种是即时编译即时计算,一种是提前编译即时计算。

第一种

// 计算
Map<String, Integer> argsMap = new HashMap<>();
argsMap.put("x", 5);
argsMap.put("y", 10);

Integer result = (Integer)MVEL.eval("x * y", argsMap);
System.out.println("intResult=" + result);

第二种

Map<String, Integer> argsMap = new HashMap<>();
argsMap.put("x", 5);
argsMap.put("y", 10);

ExecutableAccessor compiledExp = (ExecutableAccessor)MVEL.compileExpression("x * y");
        Integer resultFromCompiledExp = (Integer)MVEL.executeExpression(compiledExp, argsMap);
        System.out.println("intResult=" + resultFromCompiledExp);

3. 拓展阅读

不得不说百度太垃圾了,连搜索 mvel 官方说明网站都搜不到,甚至是 mvel 都识别成了 maven mvn,用百度学习计算机技术真是技术人的灾难。CSDN讲 mvel 的文章连 mvel 该引哪个 pom 都没讲就开始讲语法,这些技术人都只是沉醉在自己的臆想中。

  1. mvel pom 来源
  2. mvel 官方文档
 类似资料: