商用报表工具大部分都供应这个功能,运用中可以通过集成报表工具来获取相应的能力
我们就以润乾报表为例来看一下如何在运用中添加通用查询功能
为什么以润乾报表为例呢,由于润乾报表 3 高!
专业报表 20 年,功能好,手艺高;用的人多,市场霸占率高;价格低、性价比高
整体解释
润乾通用查询页面由通用查询模块(上半部分) 和报表模块(下半部分) 两个独立部分组合而成
) 通用查询模块(上半部分)的核心包括元数据 JSON 和查询 JSON
如上图中,通用查询模块的左边部分是由 “元数据 Json+ 通用查询标签(commonQuery)”天生,用户拖拽完后天生的右边部分终极会天生“查询 JSON”, 然后报表模块解析后输出报表
集成步骤1 集成运用包并配置授权
把润乾标准的 j2ee 运用包,拷贝到自己的运用目录下
把稳:web.xml 文件不能拷贝,而是打开润乾的 web.xml 文件,把个中的内容拷贝到您的 web.xml 文件中并按哀求的顺序合并
打开 [WEB 运用根目录]/WEB-INF/raqsoftConfig.xml 文件,配置授权和数据源信息
分别在安装目录下找到以下三个 jsp 文件,后续步骤会陆续用到这些文件,
1、通用查询页面 cqIndex.jsp(路径:demo\raqsoft\guide\jsp);
2、查询模块页面 cq.jsp(路径:demo\raqsoft\guide\jsp)
3、报表模块页面 cqReport.jsp(路径:demo\reportJsp)
通用查询页面 (cqIndex.jsp)由查询模块(cq.jsp)和报表模块 (cqReport.jsp) 两部分组成,模块间相互独立,互不影响
2 准备元数据 JSON 并配置标签元数据 JSON 的天生办法有很多种,本例以利用直接供应 json 字符串为例,初始化通用查询模块
编辑 cq.jsp,利用 json 字符串天生元数据 JSON:
String metadata = “[{name:‘group1’,fields:[{name:‘EID’,title:‘员工编号’},{name:‘GENDER’,title:‘性别’},{name:‘SALARY’,title:‘人为’}]}]”;
然后在 jsp 中定义 Tag 标签raqsoft:commonQuery的属性及其值,用 Tag 标签完成通用查询的解析及运算,按用户配置的属性哀求将 HTML 文件流输出到客户端
<raqsoft:commonQuery
metadata=“<%=metadata%>”
/>
3 解析查询 JSON点击查询后会天生一个 json 串,通称查询 JSON,通过集算器脚本(润乾独占的开源打算引擎)解析该 json,然后把结果通报给报表
示例:新建脚本文件 QueryDS.dfx,内容如下:
在 cqReport.jsp 中已将查询 json 赋值给了 queryJSON 参数,因此需在集算器脚本中定义名为 queryJSON 的参数,用于吸收通用查询返回的查询 json:
4 制作报表模块展示数据
新建报表 Query.rpx,利用上一步的集算器脚本作为数据集,报表模板如下:
数据集定义:
参数定义:
5 发布报表并查看
在 cqReport.jsp 中定义报表标签
<report:html name=“report1”
srcType=“file”
reportFileName=“<%=report%>”
/>
然后浏览器中访问通用查询的主页面 cqIndex.jsp
http://localhost:6868/demo/raqsoft/guide/jsp/cqIndex.jsp?rpx=commonQuery/Query.rpx
到此一个完全的通用查询功能就集成完毕了,可以自由定义查询条件了
拖拽左上角列出的元数据 json 中的指标到右侧,对指标进行查询、汇总、条件过滤等操作,点击查询按钮,结果报表就出来了
更多的,数据库数据怎么天生 json,动态元数据 json 怎么做,集算器脚本还能做什么,可以参考: 通用查询控件利用方法 - 乾学院