jaspereport报表问题 用ireport做好报表编译好之后....要怎样在jsp中调用.....在jsp中要能够查询之后生成报表...要生成html 的....能不能给个调用传值的例子....网上找了半天都不行....各位大侠有自己做好的能运行的贴出来看看...谢谢ireport 1.3.2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我刚好正在用JasperReport做报表,下面是我的代码:<%@ page language="java" pageEncoding="UTF-8"%><%@ page import="net.sf.jasperreports.engine.*" %><%@ page import="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource" %><%@ page import="net.sf.jasperreports.engine.export.*" %><%@ page import="net.sf.jasperreports.engine.design.*" %><%@ page import="net.sf.jasperreports.engine.xml.*" %><%@ page import="net.sf.jasperreports.j2ee.servlets.*" %><%@ page import="java.util.*" %><% List list=(List)request.getAttribute("list"); String path=application.getRealPath("/report/bphdfxreport.jrxml"); //Load the sample report file from the XML file //into the JasperDesign object. JasperDesign design=JRXmlLoader.load(path); //Compile the Report in Memory storing it in a JasperReport object //now .jasper report file is created. JasperReport report=JasperCompileManager.compileReport(design); //Fill the report using the JRBeanCollectionDataSource passed //a Hibernate query result set. Map parameters = new HashMap(); parameters.put("Title", "MyReport"); parameters.put("name","freda"); parameters.put("hh","113"); parameters.put("zdjh","3"); JasperPrint jasperPrint=JasperFillManager.fillReport(report,parameters,new JRBeanCollectionDataSource(list)); session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); // export JRHtmlExporter exporter = new JRHtmlExporter(); session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image="); exporter.exportReport();%> 为什么我生成html文件之后打开是空白的 在web.xml要进行配制的.代码如下:<servlet> <servlet-name>ImageServlet</servlet-name> <servlet-class> net.sf.jasperreports.j2ee.servlets.ImageServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>ImageServlet</servlet-name> <url-pattern>/servlets/image</url-pattern> </servlet-mapping>你再试试,看好了吗? 这是重关键的两句 List list=(List)request.getAttribute("list"); String path=application.getRealPath("/report/bphdfxreport.jrxml");list对象里存的你查询的结果/report/bphdfxreport.jrxml这个要是你存储.jrxml就是用iReport设计的那个文件的实际路径 为什么不直接调用已经编译好的.jaspe文件.... 我又没说不可以.你可以灵活应用吗!原则是,做出报表不是吗!如果你使用已经编译好的.jasper文件的话,就是填充数据的问题了. JasperPrint jasperPrint=JasperFillManager.fillReport(report,parameters,new JRBeanCollectionDataSource(list));根据不同的数据,JasperFillManager.fillReport()第三个参数是不同的. 三楼的:parameters.put("Title", "MyReport");parameters.put("name","freda");parameters.put("hh","113");parameters.put("zdjh","3");就是为了传值用的,传递了四个参数。当然,你要事先在ireport里面增加Title,name,hh,zdjh四个参数! 中控指纹登录后端调用失败,谁能帮忙解决呢? 大侠们,帮帮忙啊...... web service能用jms实现吗 jsp抓取网页? 组合框 文本框和下拉菜单的组合实现 谢谢 帮我看看正则这个证表达式有没有写错? 关于JSP调用javabean的一个奇怪的问题 我怎样才能找到导入oracle 9i的表啊? 关于网上办公 struts1,提交表单后跳转页面空白 关于Java.net.BindException,如何释放被占用的端口 webeditor网页编辑器(JSP版)上传到Linux服务器后,工具栏乱码问题
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.engine.design.*" %>
<%@ page import="net.sf.jasperreports.engine.xml.*" %>
<%@ page import="net.sf.jasperreports.j2ee.servlets.*" %>
<%@ page import="java.util.*" %>
<%
List list=(List)request.getAttribute("list");
String path=application.getRealPath("/report/bphdfxreport.jrxml");
//Load the sample report file from the XML file
//into the JasperDesign object.
JasperDesign design=JRXmlLoader.load(path);
//Compile the Report in Memory storing it in a JasperReport object
//now .jasper report file is created.
JasperReport report=JasperCompileManager.compileReport(design);
//Fill the report using the JRBeanCollectionDataSource passed
//a Hibernate query result set.
Map parameters = new HashMap();
parameters.put("Title", "MyReport");
parameters.put("name","freda");
parameters.put("hh","113");
parameters.put("zdjh","3");
JasperPrint jasperPrint=JasperFillManager.fillReport(report,parameters,new JRBeanCollectionDataSource(list));
session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
// export
JRHtmlExporter exporter = new JRHtmlExporter();
session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");
exporter.exportReport();
%>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>
net.sf.jasperreports.j2ee.servlets.ImageServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>你再试试,看好了吗?
List list=(List)request.getAttribute("list");
String path=application.getRealPath("/report/bphdfxreport.jrxml");list对象里存的你查询的结果/report/bphdfxreport.jrxml
这个要是你存储.jrxml就是用iReport设计的那个文件的实际路径
根据不同的数据,
JasperFillManager.fillReport()第三个参数是不同的.
parameters.put("Title", "MyReport");
parameters.put("name","freda");
parameters.put("hh","113");
parameters.put("zdjh","3");
就是为了传值用的,传递了四个参数。
当然,你要事先在ireport里面增加Title,name,hh,zdjh四个参数!