import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
import org.apache.commons.jexl2.UnifiedJEXL.Expression;
//表达式计算
String expression="a+b+c-d";
JexlContext jexlContext = new MapContext();
jexlContext.set("a", 2);
jexlContext.set("b", 3);
jexlContext.set("c", 4);
jexlContext.set("d", 2);
Expression e = (Expression) new JexlEngine().createExpression(expression);
Number num = (Number) e.evaluate(jexlContext);
System.out.println(num);
String expression="a||b||c||d";
JexlContext jexlContext = new MapContext();
jexlContext.set("a", true);
jexlContext.set("b", true);
jexlContext.set("c", true);
jexlContext.set("d", false);
Expression e = new JexlEngine().createExpression(expression);
Boolean num = (Boolean) e.evaluate(jexlContext);
System.out.println(num);
转载自:http://blog.163.com/summer_travel/blog/static/199374215201110954424588/