博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp调用ireport进行客户端打印
阅读量:5033 次
发布时间:2019-06-12

本文共 1752 字,大约阅读时间需要 5 分钟。

前提:客户端需要安装jdk,服务段需要有相关的jar包,itext包等。。。

jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<title>打印</title>
<link rel="stylesheet" href="/gbcpgl/gbcpgl_web/abc/public.css" type="text/css"/> 
</head>
<body scroll="no" style="overflow: hidden;">
<object 
 
  
 classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
 
  
 codebase = "http://java.sun.com/update/1.6.0/jinstall-6u13-windows-i586.cab#Version=6,0,0,3" 
 
  
 WIDTH = "100%" HEIGHT = "100%" >
 
  
 <PARAM NAME = CODE VALUE = "EmbeddedViewerApplet.class" >
 
  
 <PARAM NAME = CODEBASE VALUE = "../../applets" >
 
  
 <PARAM NAME = ARCHIVE VALUE = "jasperreports-3.5.3-applet.jar,commons-logging-1.0.2.jar,commons-collections-2.1.jar" >
 
  
 <param name = "type" value = "application/x-java-applet;version=1.6">
 
  
 <param name = "scriptable" value = "false">
<!--  
  
  
  
  
 请求的servlet路径  
  
  
  
 -->
 
 
  <PARAM NAME = "REPORT_URL" VALUE ="someServlet?someParam">
 
</object>
</body>
</html>
 
servlet核心代码:
String jasperName = session.getServletContext().getRealPath("/report_print/office_template") + File.separator + "jywwdjb_bg2.jasper";
try {
DriverManagerDataSource ds = 。。。;
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperName);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,paramMap,ds.getConnection());
 
 if (jasperPrint != null)
 
 {
 
 response.setContentType("application/octet-stream");
 
 ServletOutputStream ouputStream = response.getOutputStream();
 
 ObjectOutputStream oos = new ObjectOutputStream(ouputStream);
 
 oos.writeObject(jasperPrint);
 
 oos.flush();
 
 oos.close();
 
 
 ouputStream.flush();
 
 ouputStream.close();
 
 }
} catch (JRException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
log.error(e.getLocalizedMessage());
}

转载于:https://www.cnblogs.com/wangdonghua/p/3320794.html

你可能感兴趣的文章
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
Django Rest Framework--2
查看>>
java.lang.NullPointerException - 如何处理空指针异常
查看>>
Python学习-文件操作
查看>>
ACCP8.0Y2Web前端框架与移动应用开发第2章Bootstrap样式
查看>>
框架更新 (简)
查看>>
struct 构造函数
查看>>
sqlitepersistentobject
查看>>
Java集合效率问题
查看>>