我知道有一个HTTP响应头指令来禁用页面缓存:

Cache-Control:no-cache

我可以通过<!>“; hand <!>”:

修改标题
 <%response.addHeader("Cache-Control","no-cache");%>

但是有一个<!> quot; nice <!> quot;让JSP解释器在服务器响应中返回此标题行的方法吗?

(我检查了<!> lt;%@ page ...%<!> gt;指令。似乎没有那样的。)

有帮助吗?

解决方案

同时添加

response.addHeader("Expires","-1");
response.addHeader("Pragma","no-cache");

到你的标题并给它一个镜头。

其他提示

如果您使用的是servlet,那么我相信您在问题中发布的内容将是正确的方法。我不知道在JSP中有任何方法可以做到这一点。

<?xml version="1.0"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
 <jsp:scriptlet><![CDATA[
   response.setHeader("Cache-Control", "no-cache");
 ]]></jsp:scriptlet>
</jsp:root>

您必须将响应标头放在<jsp:root />中。另外,我建议从servlet而不是JSP页面发送它。

IIRC某些浏览器可能会忽略某些上下文中的缓存控制设置。这种“安全”的解决方法是始终使用新的查询字符串变量(如时间)获取页面(甚至是AJAX块)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top