强制重新加载图片jsf

时间:2011-09-02 11:42:41

标签: image jsf-2 browser-cache

我想在jsf web应用程序中显示一个html文件中的图形图像,该文件正在针对每次运行进行更改。 问题是显示的图像总是一样的。

我试图通过在图像名称的末尾生成一个随机数来解决这个问题。

    public String getImageId () {
    String imageId = ""; 
    int nb = (int)Math.random(); 
    imageId = "?id="+Integer.toString(nb);
    return imageId; 
}

然后,我在我的jsf页面中调用它

<h:graphicImage value="/images/Report.html_files/img_0_0_0#{MyBean.imageId}" cacheable="false" />

但没有任何改变。

你对此有任何想法吗? 感谢

2 个答案:

答案 0 :(得分:2)

对于我的申请,我 创建了一个返回不同图像的Java Servlet 每次都使用HTTP标头Cache-Control 设置为阻止缓存,我在我的JSF标记中使用servlet URL。

我认为您无法使用网址动态更改图片 到静态文件,就像在你的例子中一样。

答案 1 :(得分:0)

另一个姑息解决方案是使用键 CTRL + SHIFT + R 在浏览器中强制刷新。