我正在尝试从一个jsp文件加载一个html页面。就像这样。我从一个控制器将文件名提供给jsp,然后使用dojo调用另一个控制器并传递该文件名。
<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,我必须手动清除缓存。我怎样才能避免这种情况?我已经给了
<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文件中。
发布于 2011-03-08 21:37:41
两种方式:
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
https://stackoverflow.com/questions/5232821
复制相似问题