研究了下新版本的jasperreports,有些小问题,提供给大家,少走弯路
单独抽个jasper-view.xml,配置如下
<bean id="jasperReportsViewResolver"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsViewResolver">
<property name="order" value="0"></property>
<property name="viewClass"
value="org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView"/>
<property name="prefix" value="/WEB-INF/jasper/"/>
<property name="suffix" value=".jrxml"/>
<property name="viewNames" value="rpt*"/>
<property name="jdbcDataSource" ref="dataSource"/>
<property name="exporterParameters">
<map>
<!-- Force bei allen UTF-8 -->
<entry
key="net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING">
<value>utf-8</value>
</entry>
<!-- keine Images als Platzhalter in HTML-Seiten , vermeidet nullpx-Problem -->
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN">
<value type="java.lang.Boolean">false</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_URI">
<value type="java.lang.String">/html/image.jsp?image=</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_DIR_NAME">
<value type="java.lang.String">D:\\work\\***\\web\\tmp</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR">
<value type="java.lang.String">true</value>
</entry>
</map>
</property>
</bean>
配置几点说明下:
1、property order要设置下0,因为MVC,大家都会设置
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
这个配置会抢你的映射
2、写一个jsp文件,来读生成的报表图片,我的配置/html/image.jsp,网上抄一段
<%@ page import="java.io.*" %>
<%
String imagePath = System.getProperty("***") + "/web/tmp";
String name = request.getParameter("image");
imagePath += "/" + name;
response.reset();
OutputStream output = response.getOutputStream();// 得到输出流
response.setContentType("image/png");
// ServletContext context = getServletContext();// 得到背景对象
File f = new File(imagePath);
InputStream imageIn = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(imageIn);// 输入缓冲流
BufferedOutputStream bos = new BufferedOutputStream(output);// 输出缓冲流
byte data[] = new byte[4096];// 缓冲字节数
int size = 0;
size = bis.read(data);
while (size != -1) {
bos.write(data, 0, size);
size = bis.read(data);
}
bis.close();
bos.flush();// 清空输出缓冲流
bos.close();
output.close();
%>
3、设置图片生成地址,我这是tmp目录,需要绝对路径,那位能告诉怎么设置相对路径
配置就这些,Controller返回时,直接返回报表名称就可以了,现在spring直接编译jrxml,
网上一堆问报表图片生成问题,看来一直是老问题,以前用的很老的版本就是这样解决的。新版本与spring结合还是很简单,未深入研究,求赐教。
分享到:
相关推荐
在本项目中,我们利用了Java技术栈中的四个核心组件:Spring MVC、Spring、Hibernate以及Bootstrap,构建了一个全面的图书管理系统。这个系统旨在提供高效、用户友好的图书管理功能,涵盖了从图书入库、检索到借阅、...
**Spring MVC 整合 iReport 知识点详解** 在Java Web开发中,Spring MVC作为主流的MVC框架,提供了一种优雅的方式来处理业务逻辑和视图展示。iReport则是一个用于设计JasperReports报表的强大工具。将两者整合,...
整合Spring MVC与IReport的过程分为以下步骤: 1. **引入依赖**:在项目的`pom.xml`或`build.gradle`文件中添加IReport相关的库,例如JasperReports、JasperServer API等。 2. **配置报表资源路径**:在Spring的...
《Spring3 MVC与JasperReport整合实战》 在IT领域,Spring MVC作为Spring框架的一部分,是用于构建Web应用程序的强大工具,而JasperReport则是一款功能丰富的报表生成库,支持多种格式,如PDF、HTML、Excel等。本...
本文将深入探讨如何将JasperReports 6版本与Spring 5框架进行整合,尤其考虑到Spring Web 5已经移除了对JasperView的支持,这使得整合过程与以往有所不同。 首先,我们需要了解JasperReports 6的关键特性。它提供了...
在本教程中,我们将学习如何在一个简单的Spring MVC Web应用中集成Jasper报表工具。教程涵盖的技术点有:报表自定义数据源的使用;报表渲染、呈现的配置与实现;iReport报表设计器的使用(报表模板设计)等
此外,一些在线课程和博客文章也可以帮助理解Spring MVC与JasperReport的整合过程。 总的来说,Spring MVC + JasperReport 5.6.0 的结合可以让你轻松地在Web应用中实现复杂的数据展示和报表功能,通过学习和实践,...
在本教程中,我们将学习如何在一个简单的Spring MVC Web应用中集成Jasper报表工具。教程涵盖的技术点有:报表自定义数据源的使用;报表渲染、呈现的配置与实现;iReport报表设计器的使用(报表模板设计)等
6. **源码分析**:深入到示例代码中,了解每个关键类和方法的作用,提升对Spring和JasperReports整合的理解。 7. **工具使用**:可能涉及使用IDE(如STS)进行项目配置,以及使用版本控制工具(如Git)管理代码。 ...
3. **jasperreports-1.3.4.jar**:这是一款报告生成库,与Spring整合时,可以帮助我们生成复杂的数据报表,但在这个场景下可能并非必需。 4. **itext-1.3.jar**:iText是一个用于生成PDF文档的库,jasperreports...
spring-orm.jar:整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现 spring-oxm.jar:Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换 spring-messaging.jar: spring-test.jar:对...
在"Spring MVC Jasper报表集成"中,我们将讨论如何将JasperReport的功能整合到Spring MVC应用中,以实现动态生成报表并提供多种导出格式的能力。以下是一些关键知识点: 1. **Spring MVC 配置**: 在Spring MVC...
总的来说,整合Struts2、Spring和Hibernate可以充分利用它们各自的优点,实现松耦合的、易于维护的Web应用。这个过程中,理解每个框架的核心功能和配置方式至关重要,同时选择正确的Jar包也是成功整合的前提。通过...