首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网页不显示新文件内容

网页不显示新文件内容
EN

Stack Overflow用户
提问于 2011-03-08 21:02:29
回答 1查看 205关注 0票数 1

我正在尝试从一个jsp文件加载一个html页面。就像这样。我从一个控制器将文件名提供给jsp,然后使用dojo调用另一个控制器并传递该文件名。

代码语言:javascript
复制
<script type="text/javascript">
var url = dojo.moduleUrl("dijit.form", "<c:url value="/getfile?Name=${fileName}"/>");
    dojo.xhrGet({
    url: url,
    load: function(html){
        dojo.byId("mycontent").innerHTML = html;
    }
});

它将文件内容流式传输到jsp。我的问题是,当我更改文件的内容时,它不会反映出来。对于火狐,我必须使用Ctrl+f5,而对于IE,我必须手动清除缓存。我怎样才能避免这种情况?我已经给了

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta HTTP-EQUIV="Expires" CONTENT="0"/>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache"/>

在我的jsp文件和html文件中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-08 21:37:41

两种方式:

  1. 将其放在HTTP响应头中,而不是放在HTML头中。元标签仅在从本地磁盘文件系统打开文件时才会被解释,而不会在通过HTTP获取文件时被解释。Filter是完成这项工作的完美工具。另外,您还忘记了另外两个Cache-Control设置。下面是一套完整的代码:

HttpServletResponse hsr = (HttpServletResponse)响应;hsr.setHeader(“缓存控制”,“无缓存,无存储,必须重新验证”);// HTTP1.1。hsr.setHeader("Pragma",“无缓存”);// HTTP1.0。hsr.setDateHeader("Expires",0);//代理。Chain.doFilter(请求,响应);

将此Filter映射到所需的与HTML文件匹配的URL模式。

  • 将时间戳添加到查询字符串,以便欺骗浏览器缓存。

var Date().getTime()); = dojo.moduleUrl("dijit.form","&“+ new url

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5232821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档