birt runtime 報表接口(1)

當啓動runtime項目後咱們就可使用url去訪問項目瞭如: javascript

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

如上是一個frameset模式,並經過__report指定了要展現的報表。 java

先說birt runtime提供的模式 web

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 要導出的數據欄位名稱。 session

相關文章
相關標籤/搜索