Struts2调整jasperreport缓存处理方法

Struts2整合jasperreport缓存处理方法很多人遇到过jasperReport生成的图片会在IE下缓存,多个报表都成了同

Struts2整合jasperreport缓存处理方法

很多人遇到过jasperReport生成的图片会在IE下缓存,多个报表都成了同一个图片.

网上有很多是从jasperReport的编译方式入手,也可以解决.但是我这里要说的是跟Struts2整合后的解决办法,一种更简单的办法

原来我们在做报表的时候:

struts.xml中给Action配置一个result,其中有个属性叫imageServletUrl,解决办法就是给这个请求路径加一个时间戳.

第一步,先写一个Struts2的Result,可以继承JasperReportsResult,然后覆盖里面的属性值,加一个时间戳参数.如此就解决IE下的缓存了.

?注意,将你的返回类型改为你配置的result-type,我这里名字叫jasperResult

1 楼 yuchensuifeng 2012-05-15   您好,非常感谢您的这篇文章,可以问个问题么?<param name="imageServletUrl">/servlets/image?image=</param> 
这样是把图片当成什么资源来访问的?网上都是这样的写法,可是我试过,图片访问不到,
我到struts2的插件源码看,默认的是"/images/",所以,我这样写<param name="imageServletUrl">/images/</param>  ,这样在网页可以访问到图片,但是,我的缓存问题没有解决,求解,谢谢.

我的手机号是15959912925,邮箱,yuchensuifeng@hotmail.com,感谢您的回答. 2 楼 qq38450529 2012-06-23   yuchensuifeng 写道您好,非常感谢您的这篇文章,可以问个问题么?<param name="imageServletUrl">/servlets/image?image=</param> 
这样是把图片当成什么资源来访问的?网上都是这样的写法,可是我试过,图片访问不到,
我到struts2的插件源码看,默认的是"/images/",所以,我这样写<param name="imageServletUrl">/images/</param>  ,这样在网页可以访问到图片,但是,我的缓存问题没有解决,求解,谢谢.

我的手机号是15959912925,邮箱,yuchensuifeng@hotmail.com,感谢您的回答.
/images/和/servlets/image?image=的区别是你在web.xml中配置的jasperReport的servlet路径,跟缓存没有关系的.