+ All Categories
Home > Documents > Using the BIRT Report Viewer-AJAX based J2EE application

Using the BIRT Report Viewer-AJAX based J2EE application

Date post: 12-Nov-2014
Category:
Upload: tobasayed
View: 132 times
Download: 0 times
Share this document with a friend
Description:
This Viewer is an AJAX based J2EE application that illustrates using the BIRT engine to generate and render report content.The Web Viewer can be used to generate and render reports, and also supports more interactive features such as table of contents, exporting report content to several formats, client and server side printing, as well as report pagination. The features available will depend on what servlet mapping is used, the settings available in the web.xml file and what values are passed as parameters.The Example Viewer can also be deployed as an Eclipse plugin in an RCP application.The Example Viewer also ships with a tag library which can be used to provide report functionality within your existing web applications.
Popular Tags:
22
Using the BIRT Report Viewer Overview Servlet Mappings Web Viewer Web.xml Settings Parameters Viewer Directory Structure Viewer Tag Library Overview This Viewer is an AJAX based J2EE application that illustrates using the BIRT engine to generate and render report content. The Web Viewer can be used to generate and render reports, and also supports more interactive features such as table of contents, exporting report content to several formats, client and server side printing, as well as report pagination. The features available will depend on what servlet mapping is used, the settings available in the web.xml file and what values are passed as parameters. The Example Viewer can also be deployed as an Eclipse plugin in an RCP application. The Example Viewer also ships with a tag library which can be used to provide report functionality within your existing web applications. Servlet Mappings The BIRT Web Viewer consist of two main Servlets, the ViewerServlet and the BirtEngineServlet. These Servlets handle three mappings: ( /frameset, /run, and /preview). The /frameset mapping renders the report in the full AJAX viewer complete with toolbar, navigation bar and table of contents features. This mapping also generates an intermediate report document from the report design file to support the AJAX based features.
Transcript
Page 1: Using the BIRT Report Viewer-AJAX based J2EE application

Using the BIRT Report Viewer Overview Servlet Mappings Web Viewer Web.xml Settings Parameters Viewer Directory Structure Viewer Tag Library

Overview

This Viewer is an AJAX based J2EE application that illustrates using the BIRT engine to generate and render report content.

The Web Viewer can be used to generate and render reports, and also supports more interactive features such as table of contents, exporting report content to several formats, client and server side printing, as well as report pagination. The features available will depend on what servlet mapping is used, the settings available in the web.xml file and what values are passed as parameters.

The Example Viewer can also be deployed as an Eclipse plugin in an RCP application.

The Example Viewer also ships with a tag library which can be used to provide report functionality within your existing web applications.

Servlet Mappings

The BIRT Web Viewer consist of two main Servlets, the ViewerServlet and the BirtEngineServlet. These Servlets handle three mappings: ( /frameset, /run, and /preview).

The /frameset mapping renders the report in the full AJAX viewer complete with toolbar, navigation bar and table of contents features. This mapping also generates an intermediate report document from the report design file to support the AJAX based features. eg http://localhost:8080/viewer/frameset?__report=myreport.rptdesign&parm1=value1

The /run mapping runs and renders the report but does not create a report document. This mapping does not supply HTML pagination, TOC or toolbar features, but does use the AJAX framework to collect parameters, support report cancelling and retrieve the report output in HTML format. eg http://localhost:8080/viewer/run?__report=myreport.rptdesign&parm1=value1

The /preview mapping runs and renders the report and does not generate a report document, although an existing report document can be used in which case just the render operation occurs. The output from the run and render operation is sent directly to the browser. eg http://localhost:8080/viewer/preview?__report=myreport.rptdesign&parm1=value1

Page 2: Using the BIRT Report Viewer-AJAX based J2EE application

Web Viewer Web.xml Settings

The web.xml file contains many settings used to configure the Viewer. These settings are illustrated below.

Attribute Description

BIRT_VIEWER_LOCALEThis setting sets the default locale for the Web Viewer.

BIRT_VIEWER_WORKING_FOLDER

This is the default location for report designs.  If the report design specified in a URL parameter is relative, this path is pre-pended to the report name.

BIRT_VIEWER_DOCUMENT_FOLDER

If a report document parameter (__document) is not used, this is the location that report documents will be generated in.  If this setting is left blank, the default value “webapp/documents” will be used.  If the__document URL parameter is used and the value is relative the report document will be created in the working folder.

WORKING_FOLDER_ACCESS_ONLY If this value is set to true, reports will only be searched for, relative to the working folder.  This prevents a user from entering a full path to a report. 

Page 3: Using the BIRT Report Viewer-AJAX based J2EE application

Relative paths below the working folder are accessible.

BIRT_VIEWER_IMAGE_DIR

Specifies the default location to store temporary images generated by the report engine.  If this setting is left blank, the default location of webapp/report/images is used.

BIRT_VIEWER_LOG_DIR

Specifies the default location to store report engine log files.  If this setting is left blank, the default location of webapp/logs is used.

BIRT_VIEWER_LOG_LEVEL

Sets the report engine log level.  Valid values are: OFF SEVERE WARNING INFO CONFIG FINE FINER FINEST

BIRT_VIEWER_SCRIPTLIB_DIR

Specifies the default location to place Jar files used by the script engine.  These can be Jars used by script engine or jars containing event handlers written in Java.  These Jars are appended to the classpath.  If this setting is left blank the default value of webapp/scriptlib will be used.

BIRT_RESOURCE_PATH

This setting specifies the resource path used by report engine.  The resource path is used to search for libraries, images, and properties files used by a report.  If this setting is left blank, resources will be searched for in the same directory as the report.

BIRT_VIEWER_MAX_ROWSSpecifies the maximum number of rows to retrieve from a dataset.

BIRT_OVERWRITE_DOCUMENT Specifies whether to overwrite the

Page 4: Using the BIRT Report Viewer-AJAX based J2EE application

report document every time a report is executed.  The default is set to true.  Valid values are true and false.

BIRT_VIEWER_CONFIG_FILE

Specifies the location of the viewer.properties file.  This file contains various settings used by the viewer.

BIRT_VIEWER_PRINT_SERVERSIDE

This setting specifies whether server side printing is supported.  If set to OFF the toolbar icon used for server side printing will be removed automatically.  Valid values are ON and OFF.

HTML_ENABLE_AGENTSTYLE_ENGINE

This setting determines how BIRT styles are handled with the HTML emitter.  If set to TRUE, the BIRT engine will output the styles directly to the report and depends on the browser to implement the style calculations.  If set to FALSE the emitter will use the BIRT style engine to calculate the styles and will output the results directly to the report.

Parameters

The example viewer has a distinction between report parameters and viewer configuration parameters.  Report parameters are used by the report designs and configuration parameters affect the appearance and features available to the example Viewer application.  In either case these parameters can be passed as URL parameters by entering the &parmname=value syntax, passed in a html form, or passed using the jsp:parm tag.  Configuration parameters by default start with a “__” prefixed to the parameter name.

Report parameters that are designated in the design as required and are not entered in one of the above methods will cause the viewer to launch a parameter entry dialog box.  Additionally the example Viewer tag library contains tags to configure and set parameters as well.

Attribute Description

__id A unique identifier for the viewer.

Page 5: Using the BIRT Report Viewer-AJAX based J2EE application

__title Sets the report title.

__showTitleDetermines if the report title is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__toolbarDetermines if the report toolbar is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__navigationbarDetermines if the navigation bar is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__parameterpage

Determines if the parameter page is displayed.  By default the frameset, run and preview mappings will automatically determine if the parameter page is required.  This setting will override this behavior.  Valid values are true and false.

__reportSets the name of the report design to process.  This can be an absolute path or relative to the working folder (See web.xml settings).

__document

Sets the name for the rptdocument.  The document is created when the report engine separates run and render tasks, and is used to support features like table of contents and pagination.  This setting can be an absolute path or relative to the working folder (See web.xml settings).  If no document parameter is used, a unique document is created in the document folder (see web.xml settings).

__formatSpecifies the desired output format, such as pdf, html, doc, ppt, or xls.

__locale

Specifies the locale for the specific operation.  Note that this will override the default locale.  Order of precedence is as follows:

__locale parameter.

Locale from client browser.

Locale web.xml setting.

Locale for the application server.

__svg Specifies whether SVG is supported.

__page Specifies specific page to render.

__pagerange Specifies page range to render. Eg 1-4,7.

Page 6: Using the BIRT Report Viewer-AJAX based J2EE application

__isnullSpecifies that a report parameter has a null value.  Eg __isnull=Myparameter.

__islocale Specifies whether the parameter is localized.

__masterpageIndicates that the report master page should be used or not.  Valid values are true and false.

__overwrite

This setting if set to true will force an overwrite of the existing report document. This setting will override the

initial setting in the web.xml.  By default the report document is overwritten anytime the report design is changed.

__bookmarkSpecifies a specific bookmark within the report to load.  The viewer will automatically load the appropriate page.

__rtlSpecifies whether to display the report in right to left format.  This setting defaults to false.

__fittopageSpecifies whether PDF generation should fit content to a page.  Valid values are true and false.

__resourceFolderSpecifies the resource folder to use.  This setting will override the default setting in the web.xml.  The resource folder is used to locate libraries, images, and resource files.

Viewer Directory Structure

Page 7: Using the BIRT Report Viewer-AJAX based J2EE application

The Example Web Viewer has the following directory structure.

Most of the directories are configurable using variables set within web.xml. The WEB-INF/platform, webcontent, and WEB-INF/lib directories are exceptions.

The BIRT plugins and associated OSGi configuration files are located in the WEB-INF/platform directory. This directory is hard coded in the Viewer, but allows the application to be deployed in WAR format. When deployed in this manner the Viewer source will create a copy of the platform directory in a directory that is set with the system variable javax.servlet.context.tempdir. Once the platform directory is created the BIRT plugins will be copied to the tempdir and the Platform is then started.

The webcontent directory contains the JavaScript files used for AJAX communications, the JSP fragments used to construct the Viewer instance, image files used by the Viewer, and the cascading style sheets used within the Viewer.

The WEBINF/lib directory contains the required Jars for the Viewer to operate.

Additional Jar files that are used by deployed reports can be placed in the WEB-INF/lib or the scriptlib directories. See the web.xml settings section for additional details.

Page 8: Using the BIRT Report Viewer-AJAX based J2EE application

Viewer Tag Library

The Web Viewer now contains a tag library that can be used to customize the behavior of the Viewer. This tag library can be deployed by either deploying the viewer as normal or by using the BIRT Web Deployment project wizard. In addition, if you desire to have BIRT deployed in one context and include the tag library in a separate context this can be done by copying the birt.tld file to your WEB-INF lds directory and copying coreapi.jar, modelapi,jar, viewerservlets.jar and com.ibm.icu_3.6.1v20070417.jar from the Viewer libs directory to the new context/web-inf/lib directory. Add the following reference to your web.xml

<jsp-config><taglib>

<taglib-uri>/birt.tld</taglib-uri>

<taglib-location>/WEB-INF/tlds/birt.tld</taglib-location></taglib>

</jsp-config>

Using this approach reports are referenced in relation to the BIRT Viewer not the new context.

The Viewer tag library contains five tags param, paramDef, parameterPage, report and viewer. Each tag has multiple attributes that control the behavior of the Viewer.

Page 9: Using the BIRT Report Viewer-AJAX based J2EE application

Example JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%@ taglib uri="/birt.tld" prefix="birt" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><birt:viewer id="birtViewer" reportDesign="TopNPercent.rptdesign"pattern="frameset"height="450"width="700"format="html" ></birt:viewer></body></html>

Page 10: Using the BIRT Report Viewer-AJAX based J2EE application

The viewer Tag Attributes

Attribute Description

id A unique identifier for the viewer.

patternThe Viewer tag supports either run or frameset, which matches the standard viewer servlet mappings. Frameset is used by default.

baseURL

The baseURL is used to determine the location of the Viewer application. If the tags are used in the same context as the BIRT viewer this attribute is not required. If the tag library is used in a separate context but in the same application server, this setting may contain a value such as baseURL=”/ WebViewerExample”.

title Sets the title for the report container page.

isHostPage If this value is set to true the viewer tag will occupy the entire page.   The default value is false, which allows multiple reports to be contained in one JSP Page.

scrollingSets the IFRAME scrolling style attribute. Valid values are auto, yes, and no. If isHostPage is true these values are ignored.

positionSets the IFRAME position style attribute. Valid values are static, absolute, relative and fixed.   If isHostPage is true these values are ignored.

styleSets the style for the report container. If isHostPage is true this value is ignored.

heightSets the Height of the IFRAME in pixels. If isHostPage is true this value is ignored.

widthSets the Width of the IFRAME in pixels. If isHostPage is true this value is ignored.

topSets the top of the IFRAME in pixels. If isHostPage is true this value is ignored.

leftSets the left of the IFRAME in pixels. If isHostPage is true this value is ignored.

Page 11: Using the BIRT Report Viewer-AJAX based J2EE application

frameborder Specifies whether or not to display a border around the IFRAME.   Valid values are yes or no. If isHostPage is true this value is ignored.

reportDesign Specifies the name of the report design file. This setting can be relative or set to a full path, or a URL.

reportDocument Sets the name of the report document file. This setting can be relative or set to a full path, or a URL.   If using a URL it must be a file URL.   File://.

reportletId Specifies the instance id of the portion of the report to be displayed.   Note this only works with the run pattern and a reportDocument setting.

bookmarkSpecifies which bookmark to load within the report. For example, adding a table of contents and specifying the TOC entry will load the page containing that entry.

locale Specifies the locale for the report.

svg Specifies where SVG for charts is supported.

format Specifies the output format, such as pdf, html, or xls.

rtl Sets the right to left flag. By default this is false.

pageNum Displays a specific page within the report.

pageRange Displays a specific page range within the report. For example 2-5, 12.

resourceFolder Specifies the resource folder, which contains libraries and images.   This is usually specified in the Web.xml, but this parameter will override that value.

forceOverwriteDocument Specifies whether the report document that is created is overwritten.   Only valid with the frameset mapping.

showToolBar When using the Viewer tag with the frameset pattern, this setting determines if the toolbar is displayed.

showNavigationBar When using the Viewer tag with the frameset pattern, this setting determines if the navigation bar is displayed.

Page 12: Using the BIRT Report Viewer-AJAX based J2EE application

showTitle When using the Viewer tag with the frameset pattern, this setting determines if the report title is displayed.

showParameterPage When using the Viewer tag, this setting determines if the parameter page is displayed.

The report Tag Attributes

Attribute Description

id A unique identifier for the viewer.

baseURL

The baseURL is used to determine the location of the Viewer application. If the tags are used in the same context as the BIRT viewer this attribute is not required. If the tag library is used in a separate context but in the same application server, this setting may contain a value such as baseURL=”/ WebViewerExample”. The reportContainer attribute must be set to iframe if this attribute is used.

isHostPage If this value is set to true the viewer tag will occupy the entire page.   The default value is false, which allows multiple reports to be contained in one JSP Page.

scrollingSets the DIV/IFRAME scrolling style attribute. Valid values are auto, yes, and no. If isHostPage is true these values are ignored.

positionSets the DIV/IFRAME position style attribute. Valid values are static, absolute, relative and fixed.   If isHostPage is true these values are ignored.

styleSets the style for the report container. If isHostPage is true this value is ignored.

heightSets the Height of the IFRAME in pixels. If isHostPage is true this value is ignored.

widthSets the Width of the IFRAME in pixels. If isHostPage is true this value is ignored.

topSets the top of the IFRAME in pixels. If isHostPage is true this value is ignored.

Page 13: Using the BIRT Report Viewer-AJAX based J2EE application

leftSets the left of the IFRAME in pixels. If isHostPage is true this value is ignored.

frameborder Specifies whether or not to display a border around the IFRAME. Valid values are yes or no. If isHostPage is true this value is ignored. reportContainer must be set to iframe.

reportDesign Specifies the name of the report design file. This setting can be relative or set to a full path, or a URL.

reportDocument

Sets the name of the report document file. This setting can be relative or set to a full path, or a URL.   If using a URL it must be a file URL.   File://.  Note that a report document will not be created, but if the reportDocument exist it will be rendered.

reportletId Specifies the instance id of the portion of the report to be displayed.   Note this only works with the run pattern and a reportDocument setting.

bookmark

Specifies which bookmark to load within the report. For example, adding a table of contents and specifying the TOC

entry will load the page containing that entry.

locale Specifies the locale for the report.

svg Specifies where SVG for charts is supported.

format Specifies the output format, such as pdf, html, or xls.

rtl Sets the right to left flag. By default this is false.

pageNum Displays a specific page within the report. Report document must already exist.

pageRange Displays a specific page range within the report. For example 2-5, 12. Report Document must already exist.

resourceFolder Specifies the resource folder, which contains libraries and images.   This is usually specified in the Web.xml, but this parameter will override that value.

showParameterPage When using the report tag, this setting determines if the parameter page is displayed. If reportContainer is set to div, this setting is ignored and the parameter page is not displayed.

Page 14: Using the BIRT Report Viewer-AJAX based J2EE application

reportContainer Specifies if the report is rendered in an IFRAME or a DIV element.   This attribute affects other attributes.

The param Tag Attributes

Attribute Description

id A unique identifier for the viewer.

name Specifies the report parameter name. This must match the design file.

patternSpecifies the report parameter pattern format. If isLocale is false, this value is ignored.

isLocale Specifies whether the report parameter value is a locale/format related string.   Valid values are true or false.

valueSets the value for the report parameter. If this is left blank the default value for the parameter is used.

displaytext Set the display text for the parameter.

The parameterPage Tag Attributes

Attribute Description

id A unique identifier for the viewer.

nameSpecifies the report parameter page name. This attribute is used to create a form and is required if using the isCustom attribute. This attribute must be unique.

isCustom Indicates whether the default BIRT parameter page is used or a custom page.   Valid values are true and false.

patternThe parameterPage tag supports run, frameset, and preview mappings. Frameset is used by default.

baseURL The baseURL is used to determine the location of the Viewer application. If the tags are used in the same context as the BIRT viewer this attribute is not required. If the tag library is used in a separate context but in the same application server, this setting may contain a value such as

Page 15: Using the BIRT Report Viewer-AJAX based J2EE application

baseURL=”/ WebViewerExample”.

targetSpecifies the target window for the form submit. For example: _blank or parent

title Sets the title for the report container page.

scrollingSets the IFRAME scrolling style attribute. Valid values are auto, yes, and no

positionSets the IFRAME position style attribute. Valid values are static, absolute, relative and fixed.  

style Sets the style for the report container

height Sets the Height of the IFRAME in pixels.

width Sets the Width of the IFRAME in pixels.

top Sets the top of the IFRAME in pixels.

left Sets the left of the IFRAME in pixels.

frameborder Specifies whether or not to display a border around the IFRAME.   Valid values are yes or no. If isCustom is true this value is ignored.

reportDesign Specifies the name of the report design file. This setting can be relative or set to a full path, or a URL.

reportDocument Sets the name of the report document file. This setting can be relative or set to a full path, or a URL.   If using a URL it must be a file URL.   File://.

reportletId Specifies the instance id of the portion of the report to be displayed.   Note this only works with the run pattern and a reportDocument setting.

bookmark

Specifies which bookmark to load within the report. For example, adding a table of contents and specifying the TOC

entry will load the page containing that entry.

locale Specifies the locale for the report.

Page 16: Using the BIRT Report Viewer-AJAX based J2EE application

svg Specifies where SVG for charts is supported.

format Specifies the output format, such as pdf, html, or xls.

rtl Sets the right to left flag. By default this is false.

resourceFolder Specifies the resource folder, which contains libraries and images.   This is usually specified in the Web.xml, but this parameter will override that value.

forceOverwriteDocument Specifies whether the report document that is created is overwritten.   Only valid with the frameset mapping.

showToolBar When using the Viewer tag with the frameset pattern, this setting determines if the toolbar is displayed.

showNavigationBar When using the Viewer tag with the frameset pattern, this setting determines if the navigation bar is displayed.

showTitle When using the Viewer tag with the frameset pattern, this setting determines if the report title is displayed.

The paramDef Tag Attributes

id A unique identifier for the parameter control.

nameSpecifies the report parameter name. This must match the parameter name in the report.

isCustom Indicates whether the default BIRT parameter page is used or a custom page.   Valid values are true and false.

patternSpecifies the report parameter pattern format. If isLocale is false, this value is ignored.

valueSets the value for the report parameter. If this is left blank the default value for the parameter is used.

displaytext Set the display text for the parameter.

isLocale Specifies whether the report parameter value is a locale/format related string.   Valid values are true or false.

Page 17: Using the BIRT Report Viewer-AJAX based J2EE application

title Specifies the title attribute of the parameter control.

cssClass Sets the CSS class attribute of the parameter control.

style Specifies the style for the parameter control.


Recommended