我正在开发 Spring , JasperReports 。我的 Spring 版本是 3.0.5 RELEASE , iReport-4.5.0 。
我使用http://chathurangat.blogspot.in/2012/02/jasperreport-with-spring-mvc-fully.html链接作为示例来生成报告。为此,每件事都很好。但是当我将报告导出为html时,我无法获取图像。为此,我在 web.xml 和 IMAGES_URI , IMAGES_DIR_NAME , IS_OUTPUT_IMAGES_TO_DIR , IS_USING_IMAGES_TO_ALIGN中配置了imageservlet jasper-views.xml 文件中的参数。
以下是我在 jasper-views.xml , web.xml 中的代码配置。
如果我运行报告,请使用此配置,我将获得500 Error as no jasperprint document found on the httpsession
。
如果我配置 DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE 属性,那么我就会得到图像。但我没有得到如何在 jasper-views.xml 文件中配置它。此属性需要 JasperPrint
对象,但我没有创建任何 JasperPrint
对象
任何人都可以帮我解决这个问题。我为此苦苦挣扎。如果您想要更多信息,我会给你。
这是我的 jasper-views.xml 配置:
<util:map id="exportParameterMap">
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN">
<value>false</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR">
<value>true</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_URI">
<value>images?image=</value>
</entry>
<entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_DIR_NAME">
<value>/home/rupa/Workspace/sample/src/main/webapp/images/rupa</value>
</entry>
</util:map>
<bean id="ipHtmlReport"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsHtmlView"
p:url="classpath:reports/ggsnreport.jrxml"
p:reportDataKey="datasource"
p:exporterParameters-ref="exportParameterMap">
</bean>
这是我的 web.xml 配置:
<servlet>
<servlet-name>image</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>image</servlet-name>
<url-pattern>/images</url-pattern>
</servlet-mapping>
答案 0 :(得分:0)
我没有采用纯粹的Spring方法。我有Spring的部分网站,但报告是使用传统的Servlet生成的。
如果它对您有帮助,您可以查看this answer I wrote以查找类似问题。