Java 将查询参数传递给graphicImage以防止img缓存
我需要向graphicImage传递一个查询参数,以防止IE使用旧的缓存图像 我在下面尝试并得到了这个错误:找不到文件:/RES\u找不到Java 将查询参数传递给graphicImage以防止img缓存,java,jsf,jsf-2,Java,Jsf,Jsf 2,我需要向graphicImage传递一个查询参数,以防止IE使用旧的缓存图像 我在下面尝试并得到了这个错误:找不到文件:/RES\u找不到 下面的方法可行,但我确实不想硬编码资源路径: 您可以试试这个 最简单的方法是将文件夹添加为您正在使用的servletcontainer的“虚拟上下文”。不清楚你用的是哪一种。在Tomcat中,只需在server.xml中添加一个新的 <Context docBase="/path/to/images" path="/images" />
下面的方法可行,但我确实不想硬编码资源路径:
您可以试试这个
最简单的方法是将文件夹添加为您正在使用的servletcontainer的“虚拟上下文”。不清楚你用的是哪一种。在Tomcat中,只需在server.xml中添加一个新的
<Context docBase="/path/to/images" path="/images" />
在Glassfish中,只需在Glassfish-web.xml中添加一个替代Croot即可
<property name="alternatedocroot_1" value="from=/images/* dir=/path/to" />
有关详细信息,请参阅servletcontainer的文档。最终,它们应该可以通过一个普通的URL访问,以便您可以仅使用以下示例:
<p:graphicImage value="/images/MSM_HeaderSplash.png?v=1.1" />
我用下面的方法来解决这个问题。它不像使用graphicImage的库和名称属性那样直观。请让我知道,如果有其他的工作。谢谢
<h:graphicImage value="#{resource['default:img/MSM_HeaderSplash.png']}&v=1.0" alt=" " width="487" height="68" />
您的案例的最佳选择似乎是使用HTML
其中,#{currentDate}
是当前的日期
实例。这可以通过将请求范围的bean添加到faces配置中来实现:
当前日期
日期类型
要求
其评估结果是:
因此,您当前的图像将在每个请求中检索
另一种选择是在web筛选器级别禁用整个浏览器缓存,尽管这会影响整个内容
另请参见: