javaeye找的。原网址:http://zmx.iteye.com/blog/583482
非常激动。算是解决了html图片的显示问题
如果要想以HTML形式显示报表内容则还需要在web.xml配置jasperReport自带的一个servlet如下:
<!-- JasperReport包中自带的Servlet,用来做为HTML形式显示报表的时候报表的图片,要在这里配置上,图片在jasperReport包中 -->
<servlet>
<servlet-name>JasperReportImageServlet</servlet-name>
<servlet-class>
net.sf.jasperreports.j2ee.servlets.ImageServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JasperReportImageServlet</servlet-name>
<url-pattern>/image</url-pattern>
</servlet-mapping>
action中不需要修改,只需在struts.xml里添加一个HTML不配置如下:
<action name="HTML" class="com.mengya.action.PersonAction">
<result name="success" type="jasper">
<param name="location">/jasper/preson.jasper</param>
<param name="dataSource">presonList</param>
<param name="reportParameters">reportParameter</param>
<param name="format">HTML</param>
<param name="imageServletUrl">
<![CDATA[/image?image=]]>
</param>
</result>
</action>
imageServletUrl的值就是上面的serlvet的路径,该servlet就是生成了一个图形,如果不配置该serlvet则页面上有图片没显示的样子