我在jsp中调用ireport报表总是显示空白,100求助!!

yanloveyan2004 2006-07-06 04:22:03
我在jsp中调用已经画好的报表,总是显示空白,别人连接我的url也显示空白,而且打开网页的速度挺慢!
jsp:
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page pageEncoding="UTF-8"%>
<%@ page import="net.sf.jasperreports.engine.util.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport"%>

<html>
<body>

<%
try{
File reportFile = new File(
application.getRealPath("/report_conf/test.jasper"));
Map parameters = new HashMap();
//parameters.put("city", "Boston");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
String url = "jdbc:microsoft:sqlserver://192.168.8.211:1433;DatabaseName=kyz_bs";
String user = "sa";
String password = "sa";
Connection conn = DriverManager.getConnection(url, user, password);

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
parameters, conn);

response.setContentType("application/pdf");

response.setContentLength(bytes.length);

ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
catch(Exception e){
e.printStackTrace();
}

%>

i am here
</body>
</html>
test.jrxml:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="test"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="2" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />


<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="50" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="50" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="30" isSplitAllowed="true" >
</band>
</columnHeader>
<detail>
<band height="100" isSplitAllowed="true" >
<staticText>
<reportElement
x="184"
y="16"
width="166"
height="57"
key="staticText-1"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font fontName="Arial" pdfFontName="STSong-Light" size="18" pdfEncoding ="UniGB-UCS2-H"/>
</textElement>
<text><![CDATA[dddddddddddddddddd]]></text>
</staticText>
</band>
</detail>
<columnFooter>
<band height="30" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</pageFooter>
<lastPageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</lastPageFooter>
<summary>
<band height="50" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
...全文
543 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
taiky 2006-07-31
  • 打赏
  • 举报
回复
首先,你生成的是一个pdf文件
又是用ouputStream,也就是说要客户端的IE打开pdf的阅读器?
那就有客户端是否有pdf的阅读器
还有是否有权限打开弹出窗口之类的安全问题吧?
春秋2000 2006-07-17
  • 打赏
  • 举报
回复
检查一下是不是字体的问题,有些字体中文无法显示
yanloveyan2004 2006-07-07
  • 打赏
  • 举报
回复
test.jrxml:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="test"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="2" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />


<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="50" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="50" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="30" isSplitAllowed="true" >
</band>
</columnHeader>
<detail>
<band height="100" isSplitAllowed="true" >
<staticText>
<reportElement
x="184"
y="16"
width="166"
height="57"
key="staticText-1"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font fontName="Arial" pdfFontName="STSong-Light" size="18" pdfEncoding ="UniGB-UCS2-H"/>
</textElement>
<text><![CDATA[dddddddddddddddddd]]></text>
</staticText>
</band>
</detail>
<columnFooter>
<band height="30" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</pageFooter>
<lastPageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</lastPageFooter>
<summary>
<band height="50" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
yanloveyan2004 2006-07-07
  • 打赏
  • 举报
回复
jsp:
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page pageEncoding="UTF-8"%>
<%@ page import="net.sf.jasperreports.engine.util.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport"%>

<html>
<body>

<%
try{
File reportFile = new File(
application.getRealPath("/report_conf/test.jasper"));
Map parameters = new HashMap();
//parameters.put("city", "Boston");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
String url = "jdbc:microsoft:sqlserver://192.168.8.211:1433;DatabaseName=kyz_bs";
String user = "sa";
String password = "sa";
Connection conn = DriverManager.getConnection(url, user, password);

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
parameters, conn);

response.setContentType("application/pdf");

response.setContentLength(bytes.length);

ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
catch(Exception e){
e.printStackTrace();
}

%>

i am here
</body>
</html>
yanloveyan2004 2006-07-07
  • 打赏
  • 举报
回复
xp系统,简体中文,调用的就两个,一个jsp,一个xml
wuzhu888 2006-07-07
  • 打赏
  • 举报
回复
你用的什么系统和什么语言的
wcmj 2006-07-07
  • 打赏
  • 举报
回复
太多了,好像没发现你哪调用了报表
yanloveyan2004 2006-07-06
  • 打赏
  • 举报
回复
哪位大侠指点一下啊!!
yanloveyan2004 2006-07-06
  • 打赏
  • 举报
回复
哪位熟悉报表啊!!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧