文档章节

birt runtime 报表接口(1)

C
 Canaan_
发布于 2016/02/14 15:36
字数 2368
阅读 115
收藏 0

当启动runtime项目后我们就可以使用url去访问项目了如:

http://localhost:8080/birt/frameset?__report=blank.rptdesign

如上是一个frameset模式,并通过__report指定了要展示的报表。

先说birt runtime提供的模式

frameset ―― 采用Ajax框架,可以显示工具条,导航条和TOC面板,实现复杂的操作,如分页处理,导出数据,导出报表,打印等等。该模式下会自动生成report document文件(预览report design文件)到特定的目录(用户可以用参数指定,也可以定义在web.xml里)。采用Ajax,速度较慢。 


run ――也采用Ajax框架,但不实现frameset的复杂功能,不会生成临时的report document文件(预览report design文件),也不支持分页,这个主要是应用在BIRT Designer里的preview tab里,可以支持cancel操作,其它不怎么常用。采用Ajax,速度较慢。  


preview ――没有用到Ajax框架,直接调用底层Engine API对报表进行render,把生成的报表内容直接输出到浏览器。这种模式和run模式调用的是相同的Engine API,唯一区别在于run采用Ajax获取报表内容,而preview直接输出到浏览器。如果要支持分页,用户需要在URL上定义__page和__pagerange参数,这两个参数也会在后面详细说明。需要特别说明的是,在这几种预览模式中,preview的速度是最快的。  


document ――该模式主要是为了从report design文件生成report document文件。用户可以在URL上提定document文件生成存放的路径(存放在server端),如果未指定,会直接生成rptdocument发送到客户端浏览器,用户可以下载到客户端。 


output ――该模式类似于frameset,会自动生成report document文件(预览report design文件),区别在于output不采用Ajax,而是将生成的报表内容直接输出到浏览器。 


parameter ――该模式主要用于生成一个参数对话框,一般用户不常用,用户可以


download ――用于导出报表数据为CSV格式,当你使用frameset工具条里的导出数据功能时,会用到这个模式。


extract ——用于导出报表数据为CSV格式,当你使用frameset工具条里的导出数据功能时,会用到这个模式。
我们在web.xml也可以看出

<servlet>
	<servlet-name>EngineServlet</servlet-name>
		<servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>ViewerServlet</servlet-name>
		<url-pattern>/frameset</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>ViewerServlet</servlet-name>
		<url-pattern>/run</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/preview</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/download</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/parameter</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/document</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/output</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/extract</url-pattern>
	</servlet-mapping>


url参数说明

__report    定义要预览的rptdesign文件路径,支持相对路径和绝对路径,相对路径是相对于web.xml中定义的工作目录。 默认为${birt home}

<context-param>
		<param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>
		<param-value></param-value>
	</context-param>

__document  定义要预览的rptdocument文件路径,同样支持相对和绝对路径。相对路径是相对于web.xml中定义的工作目录。
            在同时定义了__report和__document参数时,以__document为优先,如未找到相应的document文件,才会从design文件生成document文件(frameset/output)或是直接去render这个design文件(preview/run)。  
__title  定义报表显示的标题。
__showtitle  是否显示frameset模式下上方的标题部分。true | false 
__toolbar  是否显示frameset模式下的工具条。true | false 
__navigationbar  是否显示frameset模式下的导航条。true | false 
__parameterpage  是否强制弹出或不弹出报表参数对话框。true | false
__format  输出报表的格式,默认为html。现在支持:pdf | doc | xls | postscript | ppt 
__locale  设置Locale信息,如 _locale=zh_CN, 注意必须是国家加语言。 
__svg  设置chart输出是否以SVG格式输出。true |false,frameset和run模式下,会采用javascript判断客户端浏览器是否支持svg,但并非对所有浏览器有效。 
__bookmark  设置页面要定位的书签名字。 
__istoc  指定定位的书签是不是一个TOC名字。如为true,就会根据_bookmark参数值去获取一个真正的书签名,从而实现正常的跳转。这个主要用于定位到一个TOC上。 
__rtl  指定HTML页面输出是否需要right to left。支持不同国家的阅读习惯,如阿拉伯国家是从右到左的。  
__page  指定要输出的报表页数,这个依赖于报表的分页设计(page break)。 
__pagerange  指定要输出的报表页数范围。如1,3,5-9。
__resourceFolder  定义资源目录路径。同web.xml中的BIRT_RESOURCE_PATH设置。 
__asattachment  是否以附件方式下载报表,如生成PDF或是其它格式里。默认是inline。
__masterpage  是否要显示master page。true | false 
__designer  该参数主要是应用在BIRT Designer环境下,如会读取cache的报表参数等等,一般不用。true | false 
__overwrite  该参数同web.xml定义的参数,不过web.xml里是全局设置,在URL上通过参数可以定义本次操作的设置。  
__imageID  内部参数,用于image的引用,一般不用。 
__maxrows 设置Dataset查询的最大记录数,要注意这个设置是全局的,会影响后面所有的请求。主要用于BIRTDesigner下,提高报表设计效率。同web.xml中的BIRT_VIEWER_MAX_ROWS设置。  
__maxlevels  设置查询获取Cube的最大级数。同上面的__maxrows,也主要用于BIRT Designer设计环境。同web.xml中的BIRT_VIEWER_MAX_CUBE_LEVELS设置。
__cubememsize  同web.xml中的BIRT_VIEWER_CUBE_MEMORY_SIZE参数设置。 
__instanceid  如果查看BIRT输出的HTML代码,你就可以看到一些HTML Element会有一个iid的属性(如table),这个就是instanceid。这个是Engine动态生成的,不可提前预知。所以你需要从HTML代码中得到这个值。
              该参数主要是为了获取reportlet(报表片断,如只输出报表中的一个Table或是一个Chart)。需要配合__isreportlet参数。  
__isreportlet  指定当前输出是不是一个reportlet。true | false  
               特别说明:为了输出一个reportlet,BIRT现在提供两种方式。
                1.为要输出的对象(表格或是Chart)定义一个bookmark,然后可以用下面的URL输出reportlet.  http://localhost:8080/birt/frameset?__report=test.rptdesign&__bookmark=bk&__isreportlet=true    
                2.采用instanceid,但这个值事先是无法预知的,需要预览一次后从HTML代码中得到。然后用下面的URL输出reportlet.  http://localhost:8080/birt/output?_report=test.rptdesign&__instanceid=iid&__isreportlet=true  
                  注意,reportlet只支持document文档。如果是预览design文档去输出reportlet, true | false
__dpi  可以设置输出Chart的dpi数值。
__fittopage  暂时这个参数只对PDF和postscript格式报表有效,指定是否调整至适合页面。
__pagebreakonly  暂时这个参数只对PDF和postscript格式报表有效,指定是否只采用BIRT报表内定的分页设置。这个参数一般需要和__fittopage联合使用。
__agentstyle  同web.xml中的HTML_ENABLE_AGENTSTYLE_ENGINE参数设置。 后台Server端打印相关参数   
__action  定义执行的指令名称。当前只支持print指令,用于后台服务器打印。 
__printer 后台打印机名称。 
__printer_copies  对应打印机的打印份数参数。
__printer_collate  对应打印机的双面打印参数。 
__printer_duplex  对应打印机的duplex参数。 
__printer_mode  对应打印机的模式参数。是单色还是彩色。
__printer_pagesize  对应打印机的纸型参数。比如A4。 JSP Tag相关参数   
__id  viewer的ID号,这个参数一般不常用,主要用于JSP Tag中,如在一个页面插入两个BIRT Viewer,而且预览同一个报表文件,这时候因为在一个session下面,
      所以需要用不同的ID去生成单独的document文件。不至于都生成同一个document文件上,从而引发冲突。
_vpattern 在 JSP Tag 中用于指定要提交的 Servlet Pattern 名字,如 frameset/output/run/preview等。主要用于采用parameter模式生成parameter dialog对话框时。
__target  可以指定提交到的窗口名称。如_blank,_self等。
__nocache  指定是否会用到cache的报表参数值,这些cache的值一般保存在rptconfig文件里。在设计报表并预览的时候,可以保存输入的报表参数值。
          这个在runtime的时候不常用。 报表参数相关  
__isnull  指定当前的报表参数为null值,后面是报表的参数名。
__islocale  指定当前的报表参数值是和Locale/Format相关的,必须用特定的Locale/Format转化参数值(从String转化为Object)。格式为__islocale=paramName。  
__isdisplay__  指定报表参数的displayText值,格式为__isdisplay__paramName=displayText。
     可以在报表中引用displayText值,如params[p1].displayText。在URL上传displayText时如下(报表参数名为p1):&__isdisplay__p1=hello 
__islocale__  指定该报表参数值是Locale/Format相关的,同时给定了参数值。格式为__islocale__paramName=paramValue。  
      Export Data参数 __exportEncoding  该参数应用于导出数据为CSV中,可以指定导出的文件编码,如GBK或是GB2312等。 
                                                                                                       
                                                           
__sep  该参数应用于导出数据为CSV中,可以指定数据分隔符,如逗号,冒号等。
__exportdatatype  该参数应用于导出数据为CSV中,可以指定是否输出数据类型。true | false 
ResultSetName  要导出数据的记录集名字。 
SelectedColumnNumber 要导出的栏位数。 
SelectedColumn 要导出的数据栏位名称。




















© 著作权归作者所有

C
粉丝 21
博文 425
码字总数 175317
作品 0
福州
私信 提问
birt 报表设计(10)—jdbc数据源

1.创建一个报表项目plreport ,然后创建一个报表report1.rptdesign。并为其创建一个jdbc数据源 本例是使用sqlServer数据库,且连接驱动是使用jtds-1.3.1.jar。所以这里要加入jtds-1.3.1.jar包...

Canaan_
2016/02/14
92
0
BIRT部署在Tomcat解决方案

应用环境: tomcat-8.5.16 jdk 1.8 BIRT 4.6.0 1. BIRT官网下载最新的BIRT运行环境 - Latest BIRT Runtime Release Build: 4.6.0,目前BIRT最新版本为4.6.0。 2. 解压Birt-Runtime-x.x.zip,......

genuinecx
2017/07/07
0
0
birt 安装(2)—Runtime 下载部署及汉化—安装

当birt 的报表模板设计完后,就可以放到birt runtime中去使用了(包括预览,下载操作)。下载好的 birt runtime 里是一个.war包,只要将其放入j2ee容器中就可以了。 示例版本: BIRT Runtime...

Canaan_
2016/01/18
483
1
BIRT-商业智能报表工具开发案例指南

打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容...

birtbird
2013/01/10
3.8K
6
利用BIRT ReportEngine API开发报表

import java.util.HashMap; import java.util.logging.Level; import org.eclipse.birt.core.framework.Platform; import org.eclipse.birt.report.engine.api.EngineConfig; import org.ecl......

恺哥
2010/10/23
6.3K
2

没有更多内容

加载失败,请刷新页面

加载更多

Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
30分钟前
39
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
38分钟前
67
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
42分钟前
49
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
今天
65
0
CentOS-配置YUM源加速(阿里云、Nexus3)

备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6 $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/......

-自由人生-
今天
92
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部