AliKevin 写道
MVEL是一个基于Java应用程序的表达式语言,本文以示例的方式简单介绍MVEL.
一、概述
二、示例
示例一 比较相等、获取值和计算
MVEL可以用==判断相等,如foo.name == "Mr.Foo".其中foo可以为上下文对象也可以是外部变量.具体示例代码如下:Person.java
public class Person {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
SimpleTester.java
package org.ndot.mvel.MvelTester.example1;
import java.util.HashMap;
import java.util.Map;
import org.mvel2.MVEL;
import org.mvel2.compiler.ExecutableAccessor;
/**
*
*/
public class SimpleTester {
public static void main(String[] args) {
Person personInst = new Person();
personInst.setName("Mr.Foo");
// 判断相等
Object objResult = MVEL.eval("name == 'Mr.Foo'", personInst);
System.out.println("objResult=" + objResult);
// 取值
String strResult = (String) MVEL.eval("name", personInst);
System.out.println("strResult=" + strResult);
// 计算
Map vars = new HashMap();
vars.put("x", new Integer(5));
vars.put("y", new Integer(10));
// 第一种方式
Integer intResult = (Integer) MVEL.eval("x * y", vars);
System.out.println("intResult=" + intResult);
// 第二种方式
ExecutableAccessor compiled = (ExecutableAccessor) MVEL.compileExpression("x * y");
intResult = (Integer) MVEL.executeExpression(compiled, vars);
System.out.println("intResult=" + intResult);
}
}
打印结果:
objResult=true
strResult=Mr.Foo
intResult=50
intResult=50
三、参考资源
http://mvel.codehaus.org/
分享到:
相关推荐
官方离线安装包,亲测可用
官方离线安装包,亲测可用
mvel-maven-插件 使用 MVEL 渲染模板的 Maven 插件。 用法 < groupId>uk.co.codezen < artifactId>mvel-maven-plugin < version>1.0 < goal>render < template
mvel14-1.2.21.jar mvel14-1.2.21.jar
mvel2-2.1.6.Final-javadoc
mvel2-2.1.0.drools16.jar mvel2-2.1.0.drools16.jar
mvel-jsr223 作为 MVEL(MVFLEX 表达式语言)的扩展,此增强功能可以支持并兼容 JSR 223 规范。
java运行依赖jar包
介绍 这是一个用于测试表达式的简单 Repl(Read-Eval-Print-Loop)。 用法 由于这是一个简单的 Maven 项目,因此可以使用 > mvn install 项目配置了Maven exec插件,直接调用即可启动repl > mvn exec:java
功能强大的基于Java应用程序的表达式语言.
drools使用的jar包,运行官方drools-distribution-7.7.0.Final drools使用的jar包,运行官方drools-distribution-7.7.0.Final drools使用的jar包,运行官方drools-distribution-7.7.0.Final drools使用的jar包,运行...
MVEL 2.0表达式语言MVEL 2.0表达式语言MVEL 2.0表达式语言
api-1.0.jar,knowledge-api-5.5.0.Final.jar,knowledge-internal-api-5.5.0.Final.jar,log4j-1.2.13.jar,mule-module-spring-extras-3.5.0.jar,mule-mvel2-2.1.9-MULE-003.jar,mule-tests-functional-3.5.0.jar,mvel...
mvel2.0语法指南中文版
mvel2.0语法指南,MVEL通常用于执行用户(程序员)通过配置XML文件或注释等定义的基本逻辑。它也可以用来解析简单的JavaBean表达式。Runtime(运行时)允许MVEL表达式通过解释执行或者预编译生成字节码后执行。
很好的MVEL基础语法学习资料,希望能帮到你~
MVEL is very easy to use, and just as easy to integrate into your application. Let's take a quick look at a simple MVEL expression: foo.name == "Mr. Foo" This simple expression asks MVEL if the value...
NULL 博文链接:https://yanguz123.iteye.com/blog/2146176
tiles-mvel-3.0.1.jar, tiles-ognl-2.2.2.jar, tiles-request-api-1.0.1.jar, tiles-request-mustache-1.0.1.jar, tiles-request-servlet-1.0.1.jar, tiles-request-servlet-wildcard-1.0.1.jar, tiles-request-...