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則頁面上有圖片沒顯示的樣子