解决Struts2整合jasperreport,输出格式为HTML时页面图片无法找

—————————————-android培训、java培训、期待与您交流! —————————————–

解决Struts2整合jasperreport,输出格式为HTML时页面图片无法找到问题,页面有红叉

我用的是jasperreport 4.8

网上找了很多资料,我自己调试了一下,对网上的方法进行了修改,其实只要两步就可以了。(同时还要感谢网上博客,才有我的改进)

第一步:

在web.xml中添加

<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.servlet</url-pattern></servlet-mapping>

我的servlet映射路径为/image.servlet,加后缀是为了避免和struts2冲突,你也可以不加后缀,修改struts的路径,把无后缀名的去了

第二步:

在需要输出为HTML的action的result下加入

<param name="imageServletUrl"><![CDATA[/image.servlet?image=]]></param>

我的完整struts.xml配置如下:

<action name="JSONAction_*" class="com.pbsage.action.JSONArrayAction" method="{1}"><result name="json" type="jasper"><!– location –><param name="location">/reports/json.jasper</param><param name="dataSource">jsonArray</param><param name="format">HTML</param><param name="contentDisposition">inline</param><param name="imageServletUrl"><![CDATA[/image.servlet?image=]]><!–要可web.xml下的刚才配置的那个servlet映射路径一样 –></param></result></action>

一点说明:

看了别人的博客,说要把pixel.GIF拷贝到images目录下

还要加上:

<!–<package name="px" namespace="/image" extends="jasperreports-default"><action name="pxx"><result>/images/images_0/pixel.GIF</result></action></package>–>

都不需要,,我认为jasperreport处理图片的servlet自己会去自己相应的目录找,不加测试OK!!!!!,不知道低版本的需要不需要加?处理之前:

处理之后:

找一个让心里安静和干净的地方,自己变得跟水晶一般透明,

解决Struts2整合jasperreport,输出格式为HTML时页面图片无法找

相关文章:

你感兴趣的文章:

标签云: