我用ireport设计好报表了,怎么将.jrxml的文件编译成.jasper的呢? 我也碰到如何在jsp中传参数的问题,怎么解决啊,顶顶顶顶顶顶顶顶顶顶顶顶谁有jasperreports的详细文档啊。救命啊!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JasperReports安装配置和制作 一、JasperReports简要介绍^JasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files. It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web applications, to generate dynamic content. Its main purpose is to help creating page oriented, ready to print documents in a simple and flexible manner. 二、以下为JasperReports安装配置和制作步骤,希望能对初学者有所帮助。1、JasperReport和iReport的资源,最新版本可以到下面官方网站得到。iReport官方网站:http://ireport.sourceforge.netJasperReports官方网站:http://jasperreports.sourceforge.net2、安装1)、JDK的安装,并配置JAVA_HOME。比如我的JAVA_HOME路径如下:JAVA_HOME D:\Program Files\j2sdk1.4.2_032)、由于中文的问题,所以还需要下载:itext-1.02b.jar和iTextAsian.jar包。下载地址:http://itext.sourceforge.net/downloads/iTextAsian.jar并在CLASSPATH中设置。例如我的CLASSPATH如下:CLASSPATH E:\Program Files\Apache Group\Tomcat4.1\webapps\testreport\WEB-INF\lib\itext-1.02b.jar;E:\Program Files\Apache Group\Tomcat 4.1\webapps\testreport\WEB-INF\lib\iTextAsian.jar;E:\Program Files\Apache Group\Tomcat 4.1\webapps\testreport\WEB-INF\lib;D:\tools\iReport0.2.3\lib3)、iReport的安装iReport只要解压就OK,如果没有安装Ant,可以直接在iReport下的noAnt目录下,运行startup.bat就可以了,这样iReport就可以启动了。4)、JasperReportJasperreport不需要任何配置,你只需将下载以后的jar包放到classpath下即可。5)、数据库的JDBC驱动包加入到CLASSPATH中 3、详细资源iReport官方提供了一些关于iReport视频,对于初学者很有帮助:地址:http://ireport.sourceforge.net/docs.htmlJasperReport官方提供的使用指南地址:http://jasperreports.sourceforge.net/tutorial/index.htmlJasperReport提供的一些例子:地址:http://jasperreports.sourceforge.net/samples/index.html4、常见问题1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码。比如:pdfname、pdfencoding 5 、 下面是两个调试例子 Servlet : import javax.servlet.*;import javax.servlet.http.*;import dori.jasper.engine.*;import java.io.*;import java.util.*;import java.sql.*;/*** @author Administrator** To change the template for this generated type comment go to* Window>Preferences>Java>Code Generation>Code and Comments*/public class TestReport extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection conn = null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=pm;user=sa;password=sa"); ServletContext servletContext = this.getServletContext(); File reportFile = new File(servletContext.getRealPath("test/iteminfo.jasper")); Map parameters = new HashMap(); Integer i = new Integer(8); parameters.put("pjId", i); 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 (JRException jre) { System.out.println("JRException:" + jre.getMessage()); } catch (Exception e) { System.out.println("Exception:" + e.getMessage()); } } public void doPost( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}JSP:< %@ page contentType="text/html;charset=GBK" % >< %@ page import="dori.jasper.engine.*" % >< %@ page import="java.util.*" % >< %@ page import="java.io.*" % >< %@ page import="java.sql.*" % >< %//数据库连接Connection conn=null;Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=pm;user=sa;password=sa");//取到编译后的jasper文件File reportFile = new File(application.getRealPath("test/iteminfo.jasper"));//向报表中定义的参数赋值Map parameters = new HashMap();Integer i=new Integer(8);parameters.put("pjId", i);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();% > <%@ page contentType="text/html; charset=GBK" %><%@ page import="net.sf.jasperreports.engine.*" %><%try{System.setProperty( "jasper.reports.compile.class.path", application.getRealPath("/WEB-INF/lib/jasperreports-0.6.1.jar") + System.getProperty("path.separator") + application.getRealPath("/WEB-INF/classes/") ); System.setProperty( "jasper.reports.compile.temp", application.getRealPath("/reports/") ); JasperCompileManager.compileReportToFile(application.getRealPath("/reports/kai.jrxml"));}catch(Exception e){ out.print("有错误"); out.print("e="+e); out.print(" e.toString="+e.toString()); }%><html><head><title>CompilePage</title></head><body bgcolor="#ffffff"><h1><font color="blue">Compile is ok!!</font></h1><form method="post" action="ViewReport.jsp"><br><br><input type="submit" name="Submit" value="Submit"><input type="reset" value="Reset"></form></body></html> 在编译时iReport就会自动生成.jasper文件,只不过你没设置存放路径。在tools中选Options... ,Compiler选择你要存放路径并勾上另两个选项。你再次编译后,就会在你选中的目录中看到了。 100分 求思路, js 问题(链接) ajax的async设置成false batchUpdate的问题 图片上传问题(绝对路径就可以上传 服务器的虚拟路径就传不上去了 hibernate的问题 Struts2 做数据验证的时候,{0}这样得变量总无法显示 tomcat 启动问题,高手指点下。 工作流(OSWorkFlow)例子修改,使您快速上手 为什么我的jsp页面登陆非常慢???急! mina2 疑问 如何才有网格?? 在Struts中的页面ReLoad问题(急啊)
一、JasperReports简要介绍
^JasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files. It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web applications, to generate dynamic content. Its main purpose is to help creating page oriented, ready to print documents in a simple and flexible manner. 二、以下为JasperReports安装配置和制作步骤,希望能对初学者有所帮助。1、JasperReport和iReport的资源,最新版本可以到下面官方网站得到。iReport官方网站:
http://ireport.sourceforge.netJasperReports官方网站:
http://jasperreports.sourceforge.net2、安装
1)、JDK的安装,并配置JAVA_HOME。比如我的JAVA_HOME路径如下:
JAVA_HOME D:\Program Files\j2sdk1.4.2_032)、由于中文的问题,所以还需要下载:itext-1.02b.jar和iTextAsian.jar包。下载地址:http://itext.sourceforge.net/downloads/iTextAsian.jar
并在CLASSPATH中设置。例如我的CLASSPATH如下:
CLASSPATH E:\Program Files\Apache Group\Tomcat4.1\webapps\testreport\WEB-INF\lib\itext-1.02b.jar;E:\Program Files\Apache Group\Tomcat 4.1\webapps\testreport\WEB-INF\lib\iTextAsian.jar;E:\Program Files\Apache Group\Tomcat 4.1\webapps\testreport\WEB-INF\lib;D:\tools\iReport0.2.3\lib3)、iReport的安装iReport只要解压就OK,如果没有安装Ant,可以直接在iReport下的noAnt目录下,
运行startup.bat就可以了,这样iReport就可以启动了。4)、JasperReport
Jasperreport不需要任何配置,你只需将下载以后的jar包放到classpath下即可。5)、数据库的JDBC驱动包
加入到CLASSPATH中 3、详细资源
iReport官方提供了一些关于iReport视频,对于初学者很有帮助:
地址:http://ireport.sourceforge.net/docs.htmlJasperReport官方提供的使用指南
地址:http://jasperreports.sourceforge.net/tutorial/index.htmlJasperReport提供的一些例子:
地址:http://jasperreports.sourceforge.net/samples/index.html4、常见问题
1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar
2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH
3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码。比如:pdfname、pdfencoding 5 、 下面是两个调试例子
Servlet :
import javax.servlet.*;
import javax.servlet.http.*;
import dori.jasper.engine.*;
import java.io.*;
import java.util.*;
import java.sql.*;/**
* @author Administrator
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TestReport extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn =
DriverManager.getConnection(
"jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=pm;user=sa;password=sa"); ServletContext servletContext = this.getServletContext();
File reportFile =
new File(servletContext.getRealPath("test/iteminfo.jasper"));
Map parameters = new HashMap();
Integer i = new Integer(8);
parameters.put("pjId", i);
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 (JRException jre) {
System.out.println("JRException:" + jre.getMessage());
} catch (Exception e) {
System.out.println("Exception:" + e.getMessage());
} } public void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException { doGet(request, response); }}JSP:
< %@ page contentType="text/html;charset=GBK" % >
< %@ page import="dori.jasper.engine.*" % >
< %@ page import="java.util.*" % >
< %@ page import="java.io.*" % >
< %@ page import="java.sql.*" % >< %
//数据库连接
Connection conn=null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=pm;user=sa;password=sa");//取到编译后的jasper文件
File reportFile = new File(application.getRealPath("test/iteminfo.jasper"));//向报表中定义的参数赋值
Map parameters = new HashMap();
Integer i=new Integer(8);
parameters.put("pjId", i);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();
% >
<%@ page import="net.sf.jasperreports.engine.*" %>
<%try
{System.setProperty(
"jasper.reports.compile.class.path",
application.getRealPath("/WEB-INF/lib/jasperreports-0.6.1.jar") +
System.getProperty("path.separator") +
application.getRealPath("/WEB-INF/classes/")
); System.setProperty(
"jasper.reports.compile.temp",
application.getRealPath("/reports/")
); JasperCompileManager.compileReportToFile(application.getRealPath("/reports/kai.jrxml"));
}catch(Exception e){
out.print("有错误");
out.print("e="+e);
out.print(" e.toString="+e.toString()); }
%>
<html>
<head>
<title>
CompilePage
</title>
</head>
<body bgcolor="#ffffff">
<h1><font color="blue">Compile is ok!!</font>
</h1>
<form method="post" action="ViewReport.jsp">
<br><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>
Compiler选择你要存放路径并勾上另两个选项。
你再次编译后,就会在你选中的目录中看到了。