1.pom架包引用
<dependency>
<groupId>juel</groupId>
<artifactId>juel</artifactId>
<version>2.1.0</version>
2.pom下载地址
http://www.java2s.com/Code/Jar/j/Downloadjuel210jar.htm
2.EL表达式实例
package com.dky.main;
import java.util.HashMap;
import java.util.Map;
import javax.el.ExpressionFactory;
import javax.el.ValueExpression;
import org.apache.el.ExpressionFactoryImpl;
import de.odysseus.el.util.SimpleContext;
public class EL {
public static Boolean checkFormDataByRuleEl(String el, Map<String, Object> formData) throws Exception {
ExpressionFactory factory = new ExpressionFactoryImpl();
SimpleContext context = new SimpleContext();
for (Object k : formData.keySet()) {
if (formData.get(k) != null) {
context.setVariable(k.toString(),
factory.createValueExpression(formData.get(k), formData.get(k).getClass()));
}
}
ValueExpression e = factory.createValueExpression(context, el, Boolean.class);
return (Boolean) e.getValue(context);
}
public static void main(String[] args) throws Exception {
String el = "${(请假天数 > 2 && 部门 == '研发部') || 职位=='程序猿'}";
Map<String, Object> formData = new HashMap<>();
formData.put("请假天数", 5);
formData.put("部门", "研发部");
formData.put("职位", "经理");
System.out.println(checkFormDataByRuleEl(el, formData));
}
}