我正在研究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和jasper-views.xml文件中的IMAGES_URI、IMAGES_DIR_NAME、IS_OUTPUT_IMAGES_TO_DIR、IS_USING_IMAGES_TO_ALIGN参数中配置了 imageservlet 。
下面是我在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>