Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将查询参数传递给graphicImage以防止img缓存_Java_Jsf_Jsf 2 - Fatal编程技术网

Java 将查询参数传递给graphicImage以防止img缓存

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" />

我需要向graphicImage传递一个查询参数,以防止IE使用旧的缓存图像

我在下面尝试并得到了这个错误:找不到文件:/RES\u找不到


下面的方法可行,但我确实不想硬编码资源路径:


您可以试试这个

最简单的方法是将文件夹添加为您正在使用的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']}&amp;v=1.0"  alt=" " width="487" height="68" />

您的案例的最佳选择似乎是使用HTML

其中,
#{currentDate}
是当前的
日期
实例。这可以通过将请求范围的bean添加到faces配置中来实现:


当前日期
日期类型
要求
其评估结果是:


因此,您当前的图像将在每个请求中检索

另一种选择是在web筛选器级别禁用整个浏览器缓存,尽管这会影响整个内容

另请参见: