Java 读取动态填充的txt文件
我用java代码读取一个文件txt,然后在html页面中用js显示其内容,但内容会随着时间的推移而变化,因此如果内容发生变化,我无法访问该文件: java代码: 读取文件并返回包含txt文件内容的字符串的方法Java 读取动态填充的txt文件,java,javascript,Java,Javascript,我用java代码读取一个文件txt,然后在html页面中用js显示其内容,但内容会随着时间的推移而变化,因此如果内容发生变化,我无法访问该文件: java代码: 读取文件并返回包含txt文件内容的字符串的方法 public static String getLog() throws IOException{ StringBuilder sb = new StringBuilder(); String path=logging.getRealPath();
public static String getLog() throws IOException{
StringBuilder sb = new StringBuilder();
String path=logging.getRealPath();
InputStream ips;
try {
ips = new FileInputStream(path);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne=br.readLine())!=null){
sb.append("<br>"+ligne);
br.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
还有js函数
<script type="text/javascript">
function getALLLog(){
var arrayNew = "<%=logging.getLog()%>";
document.getElementById("log").innerHTML=arrayNew;
}
</script>
html代码如下所示:
<div style="padding:15px" >
<span id="ALL" style="cursor: pointer;font-weight:bold;" onclick="getALLLog()">ALL</span>
</div>
<div id="log"></div>
因此,内容在填充文件后第一次显示,当服务器生成html时,java getLog函数只计算一次。之后,javascript变量arrayNew保存日志内容。当您单击ALL span时,实际上并没有调用您的java服务器端javascript,所以您只是一遍又一遍地显示相同的内容
如果您希望在单击网页上的某个按钮时调用服务器,则需要使用或刷新整个网页。我使用dwr,但遇到相同的问题,所以您的问题是它没有刷新?起初它可以工作,但当文件被更新时,html页面没有更新?当文件被更新时,点击不会发生任何事情。我使用dwr解决问题,但我遇到了同样的问题