`

mvel探索-1

 
阅读更多

  1. 表达式
List orders = getOrder(orderID);
foreach(order:orders){
	System.out.println('--user:');
	System.out.println(order.user.id+' '+order.user.name);
	System.out.println('--items:');
	double sum=0;
	foreach(item:order.items){
		p=OrderService.getProduct(item.productID);
		itemCost=item.number*p.price;
		System.out.println(item.id + '\t'+p.name + '\t' +item.number+'\t' + itemCost);
		sum+=itemCost;
	}
	System.out.println('--total:' +sum);
}
 
  1. 代码
String exp = "...";
ParserContext ctx = new ParserContext();		ctx.addImport(List.class);
ctx.addImport(OrderService.class);
ctx.addImport(System.out.getClass());
ctx.addImport("getOrder", OrderService.class.getMethod("getOrder",int.class));
ctx.addImport("getProduct", OrderService.class.getMethod("getProduct",int.class));
ctx.addImport("print", System.out.getClass().getMethod("print",String.class));
Map map = new HashMap();
map.put("orderID", 1);
Serializable serialExp = MVEL.compileExpression(exp, ctx);
MVEL.executeExpression(serialExp, map);
 

分享到:
评论

相关推荐

    mvel2-2.3.0.Final.jar

    java运行依赖jar包

    mvel14-1.2.21.jar

    mvel14-1.2.21.jar mvel14-1.2.21.jar

    mvel2-2.1.0.drools16.jar

    mvel2-2.1.0.drools16.jar mvel2-2.1.0.drools16.jar

    mvel2-2.1.6.Final-javadoc.jar

    mvel2-2.1.6.Final-javadoc

    mvel2-2.0.18

    功能强大的基于Java应用程序的表达式语言.

    sclo-cassandra3-mvel-javadoc-2.2.7-4.el7.noarch.rpm

    官方离线安装包,亲测可用

    mvel-maven-plugin:MVEL 模板 maven 插件

    mvel-maven-插件 使用 MVEL 渲染模板的 Maven 插件。 用法 < groupId>uk.co.codezen < artifactId>mvel-maven-plugin < version>1.0 < goal>render < template

    sclo-cassandra3-mvel-2.2.7-4.el7.noarch.rpm

    官方离线安装包,亲测可用

    部署Activiti-activiti-5.22.0源代码工程缺的一些jar包

    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...

    MVEL 2.0表达式语言

    1. **变量和值**:你可以直接在表达式中声明和初始化变量,如`var x = 5;`。 2. **算术运算**:MVEL支持基本的数学运算,如加法、减法、乘法和除法,以及取余操作。 3. **比较和逻辑运算**:可以使用比较运算符(如`...

    \\(^_^)/ 表达式解析器(MVEL)

    ### 1. MVEL的基本概念 - **表达式**: MVEL支持多种类型的表达式,包括数学运算、逻辑运算、字符串操作、条件语句等。这些表达式可以在运行时动态评估,并返回结果。 - **变量和常量**: MVEL支持声明和使用变量,...

    mvel2.0语法指南.pdf

    - `#`: 字符连接运算符,例如 `1 # 2` 返回 `"12"`。 - `in`: 投影整个项目集合,例如 `(fooinlist)`。 - `=`: 赋值运算符,例如 `var = "foobar"`。 #### 四、值判断 在 MVEL 中,所有的相等性判断均基于值而非...

    mvel-jsr223:作为 MVEL(MVFLEX 表达式语言)的扩展,此增强功能可以支持并兼容 JSR 223 规范

    `mvel-jsr223`项目则是MVEL对JSR 223规范的支持和实现,意味着你可以将MVEL作为一种符合JSR 223的脚本引擎在Java应用程序中使用。通过这个扩展,开发者可以利用MVEL的强大功能,同时享受到JSR 223带来的便利,比如与...

    MVEL 2.doc

    1. **Context对象**的属性:你可以创建一个Context对象,让MVEL根据这个对象来映射标识符。例如,我们创建一个`Person`类,并设置它的`name`属性为"Mr. Foo",然后用`MVEL.eval()`方法执行表达式,如下面的例子所示...

    mvel-repl:MVEL 的简单复制

    介绍 这是一个用于测试表达式的简单 Repl(Read-Eval-Print-Loop)。 用法 由于这是一个简单的 Maven 项目,因此可以使用 > mvn install 项目配置了Maven exec插件,直接调用即可启动repl > mvn exec:java

    MVEL脚本语言语法

    很好的MVEL基础语法学习资料,希望能帮到你~

    mvel 2.0.15

    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...

Global site tag (gtag.js) - Google Analytics