Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 网页不显示新文件内容_Java_Javascript_Html_File_Jsp - Fatal编程技术网

Java 网页不显示新文件内容

Java 网页不显示新文件内容,java,javascript,html,file,jsp,Java,Javascript,Html,File,Jsp,我正在尝试从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){

我正在尝试从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;
    }
});

var url=dojo.moduleUrl(“dijit.form”和“”);
dojo.xhrGet({
url:url,
加载:函数(html){
dojo.byId(“mycontent”).innerHTML=html;
}
});

它将文件内容流式传输到jsp。 我的问题是,当我更改文件的内容时,它没有反映出来。对于firefox,我必须使用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文件

两种方式:

  • 将它放在HTTP响应头中,而不是HTML头中。只有从本地磁盘文件系统打开文件时,才解释meta标记,而不是通过HTTP获取文件时。一个
    过滤器
    是完成这项工作的完美工具。另外,您还忘记了另外两个
    缓存控制设置。这是一整套:

    HttpServletResponse hsr = (HttpServletResponse) response;
    hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
    hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
    hsr.setDateHeader("Expires", 0); // Proxies.
    chain.doFilter(request, response);
    
    将此
    过滤器
    映射到与HTML文件匹配的所需URL模式

  • 将时间戳添加到查询字符串中,以使浏览器缓存被愚弄

    var url = dojo.moduleUrl("dijit.form", "<c:url value="/getfile?Name=${fileName}"/>&" + new Date().getTime());
    
    var url=dojo.moduleUrl(“dijit.form”、“&”+new Date().getTime());
    

  • 奇怪的是,当你用Javascript修改HTML时,你不需要重新定义或做任何事情。。。