处理一些JSF 2.0项目。有为新/现有用户添加图片的表格。如果没有刷新页面(* .xhtml),则无法看到新添加的图片。我试着定期:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
但它没有帮助。
如何禁用页面缓存?
答案 0 :(得分:2)
当页面通过HTTP提供时,HTML <meta http-equiv>
标记被忽略。只有当页面由最终用户保存到本地磁盘文件系统然后通过<meta http-equiv>
URL从中打开时,才会解释file://
标记。
您需要在真实的 HTTP响应中设置这些标头。最简单的方法是使用servlet filter基本上
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
(请注意,您的原始Cache-Control
标头不完整,上面的示例是正确的用法)
您可以映射特定页面的URL模式,但您也可以考虑将其映射到JSF生成的所有动态页面上。