0

我在我的应用程序(JSF1.2、RichFaces 3.3.3、Portlet 桥)中生成了一份碧玉报告,但我遇到了一个问题。jasper 生成的图像即使通过重新渲染其区域也不会动态变化。经过大量讨论和分析,我得出结论,因为 jasper 提供了同名的图像(新旧)......因此浏览器不会再次加载此图像并从缓存中获取此图像。我还在 xhtml(portlet) 的 head 部分添加了以下代码,但结果仍然没有改变。

<meta http-equiv="Cache-Control" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-store"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="-1"/>

如果有人对此有解决方案,请告诉我。

4

2 回答 2

1

这是 Jasper 图像缓存的问题 这是代码

只需将随机值与图像参数一起传递

exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?random="+Math.random()+"&image=");

于 2014-10-29T09:41:01.903 回答
0

如果整个报告是一个图像,你可以托盘这个黑客

<img src="/yourpath/imagename.png?{put_current_time_here or some random string}" /> 
于 2012-07-20T15:32:11.540 回答