[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[birt-report-designer-dev] BIRT report is diplayed as XML on JSP instead of HTML
|
Hi!
I am new to BIRT and facing this issue I am unable to resolve.
On Eclipse, when I run the BIRT report only, I get it in HTML format.
However, my aplication requires that when a user selects a report type, a
form is submitted to birtReport.jsp page where there is a business logic
that decides which of the many reports is going to be loaded into the body
of the JSP page.
Below is the code of birtReport.jsp I wrote :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/WEB-INF/tlds/birt.tld" prefix="birt"%>
<%@page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252"/>
<title>report1</title>
<%
String routeId = request.getParameter("rtId");
String schoolId = request.getParameter("scId");
/*Comment....the business logic to decide which report to load lies
here...now say the report to be loaded is "report1.rptDesign"*/
String reportName = "report1.rptdesign";
%>
</head>
<body>
Report name: <%= reportName %>
<birt:viewer id="v1" reportDesign="<%= reportName %>" height="500"
width="800">
<birt:param name="scId" value="<%=schoolId%>"></birt:param>
<birt:param name="rtId" value="<%=routeId%>"></birt:param>
</birt:viewer>
</body>
</html>
Now, for this I've done the following:
1. Downloaded
a. eclipse-reporting-galileo-SR1-win32.zip (Actuate) from
[url=http://www.eclipse.org/downloads/]Eclipse Downloads[/url]
b. Downloaded birt-runtime-2_3_2 and installed both
2. Create a Dynamic Web project and added BIRT support to it.
3. Copied the
a. coreapi.jar
b. viewservlets.jar
c. axis.jar
d. axis-ant.jar
e. com.ibm.icu_3.8.1.v20080530.jar
f. engineapi.jar
g. xercesImpl.jar
h. xercesSamples.jar
i. xmlParserAPIs.jar
JAR files on C:\apache-tomcat-5.5.28\common\lib folder
4. Copied birt.tld to workspace\nsReports\WebContent\WEB-INF\tlds
5. Added the following lines to web.xml file in
workspace\nsReports\WebContent\WEB-INF
<jsp-config>
<taglib>
<taglib-uri>/birt.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/birt.tld</taglib-location>
</taglib>
</jsp-config>
6. Included the above JAR files to project Java Build Path
The report that is loaded into the JSP page is in XML format like below:
-<report version="3.2.20" id="1">
-
<property name="createdBy">
Eclipse BIRT Designer Version 2.5.1.v20090903 Build <2.5.1.v20090917-1447>
</property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
-
<parameters>
-
<scalar-parameter name="rtId" id="78">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="distinct">true</property>
<property name="paramType">simple</property>
<property name="controlType">text-box</property>
-
<structure name="format">
<property name="category">Unformatted</property>
</structure>
</scalar-parameter>
-
<scalar-parameter name="scId" id="79">
<property name="valueType">static</property>
<property name="dataType">integer</property>
<property name="distinct">true</property>
-
and so on. How do I resolve this problem and show the HTML report on the
JSP? If anybody has an idea, please, reply.
Thanks in advance.
P.S.: I've also tried using frameset like below in birtReport.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/WEB-INF/tlds/birt.tld" prefix="birt"%>
<%@page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252"/>
<title>report1</title>
<%
String routeId = request.getParameter("rtId");
String schoolId = request.getParameter("scId");
/*Comment....the business logic to decide which report to load lies
here...now say the report to be loaded is "report1.rptDesign"*/
String reportName = "report1.rptdesign";
%>
</head>
<FRAMESET frameborder="yes" BORDER="1">
<FRAME NAME="osReport" SCROLLING="yes" MARGINHEIGHT="0" MARGINWIDTH="0"
NORESIZE src="overSpeed.rptdesign">
<birt:viewer id="report1" width="760" height="400" format="html"
reportDesign="overSpeed.rptdesign">
<birt:param name="scId" value="<%=schoolId%>"></birt:param>
<birt:param name="rtId" value="<%=routeId%>"></birt:param>
</birt:viewer>
<NOFRAMES>
<body>Sorry, your browser does not handle frames!</body>
</NOFRAMES>
</FRAMESET>
</html>
and simple <birt:report> tag like this in birtReport.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/WEB-INF/tlds/birt.tld" prefix="birt"%>
<%@page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252"/>
<title>report1</title>
<%
String routeId = request.getParameter("rtId");
String schoolId = request.getParameter("scId");
/*Comment....the business logic to decide which report to load lies
here...now say the report to be loaded is "report1.rptDesign"*/
String reportName = "report1.rptdesign";
%>
</head>
<body>
Report name: <%= reportName %>
<birt:report id="v1" reportDesign="<%= reportName %>" height="500"
width="800"></birt:report>
</body>
</html>
None of the above worked. Please, help.
--
View this message in context: http://old.nabble.com/BIRT-report-is-diplayed-as-XML-on-JSP-instead-of-HTML-tp26825342p26825342.html
Sent from the Eclipse BIRT - Report Designer - Dev mailing list archive at Nabble.com.