3 Star 1 Fork 0

yugoaui@aliyun.com/report-engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
############################################
      report engine 主要结构描述
############################################

主要相关技术:
	xstream (xml parse)
	highchart (html5 chart)
	bootstrape (css framework)
	jackson (json)
	groovy
	spring (report可以引用spring定义的bean)

一. XML结构: 
	params 查询参数 
	dataSources 数据源
	querys 数据库SQL查询,查询完的结果集将放在context中
	groovy 脚本,在查询开始前及查询数据结果后执行
	charts 图形
	tables 表格

二. 执行
	1. 解析XML得到 Report对象
	2. 执行Report对象的 querys,及 groovy,得到 context
	3. 通过 context渲染freemarker报表

三. freemarker渲染报表
	renderParams(params)
	renderChart(chart)
	renderTable(table)

四. 工具类方法
	SelectorUtil,应用在 report.getElementById(id) 
		public static Object getElementById(Object root, String id)
		
	/**
	 * 报表引擎生命周期接口
	 * 
	 * @author Irwin
	 *
	 */
	public interface ReportEngineLifecycle {
		
		public void beforeQuery(Map<String,Object> context);
		
		public void afterQuery(Map<String,Object> context);
		
	}

############################################
      report engine 使用描述
############################################
1. maven依赖
	<dependency>
		<groupId>com.duowan.common</groupId>
		<artifactId>duowan-report-engine</artifactId>
		<version>0.1.1-SNAPSHOT</version>
	</dependency>	

2. web.xml配置
	<!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔,此参数用于后面的Spring-Context loader -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring/report_engine/*.xml,</param-value>
	</context-param>

	<!--Spring ApplicationContext 载入 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<servlet>
		<servlet-name>ReportEngineServlet</servlet-name>
		<servlet-class>com.duowan.reportengine.web.servlet.ReportEngineServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>ReportEngineServlet</servlet-name>
		<url-pattern>/ReportEngine/*</url-pattern>
	</servlet-mapping>

3. spring配置: report_engine.xml
	<bean id="reportEngine" class="com.duowan.reportengine.ReportEngine">
		<property name="baseReportDir" value="${report_baseReportDir}"></property>
		<!-- 引擎配置参数,可以在报表中引用定义的变量 -->
		<property name="engineContext" ref="applicationProperties"/>
	</bean>

4. spring属性 配置
	report_baseReportDir=classpath:report_conf
		frameset.ftl   用于将报表与参数联合展现在一起
		parameter.ftl  用于展现参数
		macro.ftl	        包含标准的macro函数,macro如下
			 renderParams 		渲染参数
			 renderChart  		渲染图形
			 renderTable  		渲染表格
			 renderPagination 	渲染分页
			 
5. 静态资源
	需要将reportEngine中css,img,js等静态资源拷贝至项目中

空文件

简介

基于freemarket的报表引擎 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/yugouai/report-engine.git
git@gitee.com:yugouai/report-engine.git
yugouai
report-engine
report-engine
master

搜索帮助