com.googlecode.aviator.AviatorEvaluator规则引擎用法
AviatorEvaluator所需的依赖:
<dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <version>3.3.0</version> </dependency>
AviatorEvaluator普通测试的列子:
import java.util.HashMap; import java.util.Map; import com.googlecode.aviator.AviatorEvaluator; public class AviatorTest { public static void main(String[] args) { // exec执行方式,无需传递Map格式 String age = "18"; System.out.println(AviatorEvaluator.execute("'His age is '+ age +'!'", age)); // execute执行方式,需传递Map格式 Map map = new HashMap(); map.put("age", "18"); System.out.println(AviatorEvaluator.execute("'His age is '+ age +'!'", map)); } }
AviatorEvaluator编译测试例子:
import java.util.HashMap; import java.util.Map; import com.googlecode.aviator.AviatorEvaluator; import com.googlecode.aviator.Expression; public class CompileExample { public static void main(String[] args) { String expression = "a-(b-c)>100"; // 编译表达式 Expression compiledExp = AviatorEvaluator.compile(expression); Map<String, Object> env = new HashMap<String, Object>(); env.put("a", 100.3); env.put("b", 45); env.put("c", -199.100); // 执行表达式 Boolean result = (Boolean) compiledExp.execute(env); System.out.println(result); } }
正在加载评论...
相关文章
- 配置@ConfigurationProperties后读取yml文件的参数...
- Caused by: java.lang.NoClassDefFoundError: Coul...
- springboot加入SSL证书设置https访问
- Springboot用pagehelper分页插件查询Oracle的速度...
- shiro的登录账号密码校验过程,SimpleAuthenticati...
- Shiro控制没有登录时,返回指定JSON格式数据
- SpringBoot中mybatis返回的Date时间格式化
- ClassNotFoundException: org.aspectj.lang.annota...
- org.apache.shiro.UnavailableSecurityManagerExce...
栏目列表
推荐阅读
- java的StringEscapeUtils转义与反转义
- Mybatis的foreach事列,如何获取foreach的index值
- Java Ehcache缓存的timeToIdleSeconds和timeToLiveSeconds区别
- errcode: 40001, errmsg: invalid credential, access_token is invalid or not latest rid: 5f6981c2-6cc9cb20-6833977a
- 服务器侦听端口 netstat -na 命令详解
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- tomcat启动maven工程报错-Updating status for Tomcat v7.0 Server at localhost...
- Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'
- Java后台获取当前访问客户端的真实IP地址(外网或内网地址)
- StringSubstitutor替换占位符,处理SQL参数
- java发送http的get、post请求
- java拦截器HandlerInterceptor的preHandle、postHandle与afterCompletion三个方法
- java中Session缓存和Cache缓存的区别
- Java8对象集合转List<Integer>id集合,转List<String>name集合,List<Class>对象集合
- java图片文件base64流之间的互转帮助类源码下载
- Java导出excel利用jxls合并单元格jx:mergeCells实现表格嵌套技术
- 利用ObjectMapper,将json数组转List<Map<String,Object>>
- java的DES加密解密辅助类
- Java Ecache缓存工具类源码下载
- IllegalArgumentException: Illegal base64 character 3a