jexl-解析字符串为java代码

jexl可以将字符串解析成java代码来执行

  1. maven导入jar

    1
    2
    3
    4
    5
    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-jexl3</artifactId>
    <version>3.1</version>
    </dependency>
  2. 代码例子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //1. 创建jexl引擎
    JexlEngine jexlEngine = new Engine();
    //2. 设置变量,可以设置对象来引用对象方法
    JexlContext jc = new MapContext();
    jc.set("b",1);
    jc.set("a",2);
    //3. 创建执行的java表达式
    JexlExpression expression = jexlEngine.createExpression("a+b");
    //4. 计算结果
    Object evaluate = expression.evaluate(jc);
    System.out.println(evaluate);