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);
}
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);
相关推荐
java运行依赖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.6.Final-javadoc
功能强大的基于Java应用程序的表达式语言.
官方离线安装包,亲测可用
mvel-maven-插件 使用 MVEL 渲染模板的 Maven 插件。 用法 < groupId>uk.co.codezen < artifactId>mvel-maven-plugin < version>1.0 < goal>render < template
官方离线安装包,亲测可用
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...
1. **变量和值**:你可以直接在表达式中声明和初始化变量,如`var x = 5;`。 2. **算术运算**:MVEL支持基本的数学运算,如加法、减法、乘法和除法,以及取余操作。 3. **比较和逻辑运算**:可以使用比较运算符(如`...
### 1. MVEL的基本概念 - **表达式**: MVEL支持多种类型的表达式,包括数学运算、逻辑运算、字符串操作、条件语句等。这些表达式可以在运行时动态评估,并返回结果。 - **变量和常量**: MVEL支持声明和使用变量,...
- `#`: 字符连接运算符,例如 `1 # 2` 返回 `"12"`。 - `in`: 投影整个项目集合,例如 `(fooinlist)`。 - `=`: 赋值运算符,例如 `var = "foobar"`。 #### 四、值判断 在 MVEL 中,所有的相等性判断均基于值而非...
`mvel-jsr223`项目则是MVEL对JSR 223规范的支持和实现,意味着你可以将MVEL作为一种符合JSR 223的脚本引擎在Java应用程序中使用。通过这个扩展,开发者可以利用MVEL的强大功能,同时享受到JSR 223带来的便利,比如与...
1. **Context对象**的属性:你可以创建一个Context对象,让MVEL根据这个对象来映射标识符。例如,我们创建一个`Person`类,并设置它的`name`属性为"Mr. Foo",然后用`MVEL.eval()`方法执行表达式,如下面的例子所示...
介绍 这是一个用于测试表达式的简单 Repl(Read-Eval-Print-Loop)。 用法 由于这是一个简单的 Maven 项目,因此可以使用 > mvn install 项目配置了Maven exec插件,直接调用即可启动repl > mvn exec:java
很好的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...