视频网站公司,成都互联网公司数量排名,龙岩天宫山缆车多少钱,北京seo服务销售1. 前言
在上一篇文章中#xff0c;我们简单介绍了一下表达式引擎#xff0c;并引出我们的主角QLExpress.在这篇文章中#xff0c;我们先来一个QLExpress的热身。
2. 初探QLExpress
源码地址#xff1a;https://github.com/alibaba/qlExpress
笔者下载源码的版本是3.3.…1. 前言
在上一篇文章中我们简单介绍了一下表达式引擎并引出我们的主角QLExpress.在这篇文章中我们先来一个QLExpress的热身。
2. 初探QLExpress
源码地址https://github.com/alibaba/qlExpress
笔者下载源码的版本是3.3.1-SNAPSHOT快照版。下载源码后代码结构如下图所示 大家在学习的时候主要关注test包下的测试案例即可。
3. helloword程序
首选我们在test包下创建自己学习的包名笔者建立的是self包self包下创建helloworld包。如图所示 代码如下 /*** 类描述: 入门程序 helloworld* author admin* version 1.0.0* date 2023/11/13 13:02*/
public class HelloWorld {Testpublic void test() throws Exception{ExpressRunner runner new ExpressRunner();DefaultContextString, Object context new DefaultContextString, Object();context.put(a,1);context.put(b,2);context.put(c,3);String express ab*c;Object r runner.execute(express, context, null, true, false);System.out.println(r);}
} 代码说明相信有程序基础的小伙伴这段代码应该难不住大家。
ExpressRunner
语法分析和计算的入口类
DefaultContext
表达式计算的数据注入接口作者程序中默认的实现类
execute执行方法代码如下 /*** 执行一段文本** param expressString 程序文本* param context 执行上下文* param errorList 输出的错误信息List* param isCache 是否使用Cache中的指令集* param isTrace 是否输出详细的执行指令信息* return* throws Exception*/
public Object execute(String expressString, IExpressContextString, Object context, ListString errorList,boolean isCache, boolean isTrace) throws Exception {return this.execute(expressString, context, errorList, isCache, isTrace, null);
} 代码的运行结果