利用程序将.jrxml导出为.jasper文件并用PDF显示(2)
直接在Web项目中使用.jasper文件,其实在软件项目开发时,.jrxml文件经常修改,而且.jrxml还要在项目中进行保留备份,所以较为流行的做法是在项目中使用.jrxml来生成.jasper文件,并用PDF文件显示出来.
设计的报表模板样式,如图1.28所示。

创建Web项目,将.jrxml复制到WebRoot中的jrxml文件夹中,项目结构如图1.29所示。

在此项目中的src路径下创建一个文件夹,其实也是一个名称为jasperreports的包(package),创建它的主要作用就是 WebRoot中的.jrxml文件编译成.jasper文件后要放入src/jasperreports包中,这样做的主要原因就是一旦出现主报表 main.jasper引用子报表sub.jasper的时候,不需要指定子报表的路径,只需要一个相对路径即可,因为主报表和子报表都在 classpath路径中,属于相对路径,这样设计可以有效地解决Parameters过多的问题,此方法也是本教程着力推荐的实现方式,关于子报表的使 用请参看后面的章节。
加入jasperreports包的项目结构如图1.30所示。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try
{
String path = this.getClass().getResource("/jasper/report1.jrxml").getPath();
File file = new File(path);
String parentPath = file.getParent();
String jrxmlDestSourcePath = parentPath+"/report1.jasper";
JasperCompileManager.compileReportToFile(path,
jrxmlDestSourcePath);
InputStream isRef = new FileInputStream(new File(jrxmlDestSourcePath));
ServletOutputStream sosRef = response.getOutputStream();
response.setContentType("application/pdf");
JasperRunManager.runReportToPdfStream(isRef,sosRef,new HashMap(),
new JREmptyDataSource());
sosRef.flush();
sosRef.close();
}
catch (JRException e)
{ // TODO Auto-generated catch block
e.printStackTrace();
}
程序运行后的效果如图1.31所示。

编译成功后,在Tomcat软件中的指定路径下生成了.jasper文件,如图1.32所示。

利用程序将.jrxml导出为.jasper文件并用PDF显示(2)的更多相关文章
- 如何为ios酷我音乐盒下载导出的音乐文件(使用Java程序设计)
这个工具已经准备第二版,读者了解编程软件,可以直接使用,请阅读和使用这个场地 http://blog.csdn.net/jzj1993/article/details/44459983 本文所涉及内容 ...
- 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件
1. 描述 PDF 文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式.PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即 ...
- 如何在eclipse将程序导出成jar文件
如何在eclipse将程序导出成jar文件 听语音 | 浏览:916 | 更新:2015-08-22 17:57 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅为你的电脑系统,选个靠谱师傅 ...
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...
- 利用虚函数减少导出DLL的头文件依赖
概要 设想这样一个场景:我有一个类FunClass,它的声明位于FunClass.h,并且在FunClass.h中,我还引用了secret.h. 现在我需要把FunClass导出成DLL文件供别人二次 ...
- 利用PHPExcel将数据导出到xls格式的excel文件
在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使 ...
- MySql 利用mysql&mysqldum导入导出数据
MySql 利用mysql&mysqldum导入导出数据 by:授客 QQ:1033553122 测试环境 Linux下测试,数据库MySql 工具 mysqldump,该命令位于mysq ...
- oracle导出多CSV文件的靠谱的
oracle导出多CSV文件的问题 ---------------------------------------------------------------------- 用ksh脚本从orac ...
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
随机推荐
- A + B Problem,hdu-1000
A + B Problem Problem Description Calculate A + B. Input Each line will contain two integers A and ...
- Lintcode--011(打劫房屋2)
在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子 ...
- (摘)C#comboBox绑定数据
C#中comboBox用代码绑定数据库中在某一列.用处:跟radioButton联系在一起,可以根据radioButton在选择而在comboBox显示出不同的值. private void radi ...
- 通过JCONSOLE监控TOMCAT的JVM使用情况
这个也是要学入一下,JVMr 虚拟机原理不可少. 参考配置URL“: http://blog.163.com/kangle0925@126/blog/static/277581982011527723 ...
- jquery 的ready() 与window.onload()的区别
做web开发时常用Jquery中$(document).ready()和JavaScript中的window.onload方法,两者都是要在页面加载完成以后加载的方法,但是这两者还是有很大区别的.最近 ...
- 在线服装零售商Betabrand获得650万美元风投 - 投资风向 - 创业邦
在线服装零售商Betabrand获得650万美元风投 - 投资风向 - 创业邦 在线服装零售商Betabrand获得650万美元风投
- python下载多个文件
# -*- coding: utf-8 -*-__author__ = 'Administrator'import urllib2,urllib,os,redef Url1(url):#多个文件 ...
- web前端代码规范——css代码规范
Bootstrap CSS编码规范 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 为选择器分组时,将单独的选择器单独放在一行. 为了代码的易读性,在每个 ...
- GridView出现不完整--GridView删除滚动条
GridView显示不完毕的原因是由于,他的外层也套用了一个滑动的控件,解决办法就是重写GridView,是控制GridView不能滚动,就是写一个类继承GridView 代码例如以下 public ...
- python (3):wxPython打包app,报错
1,打包app报错 如图: 使用py2app,mac下打包成app.异常.程序直接退出. 没有详细的错误信息,client程序直接崩溃了. 2.原因 代码没有几行: #!/usr/bin/python ...