我用java代码读取文件txt然后用html页面中的js显示它的内容,但内容随时间变化,所以如果内容发生变化,我无法访问文件: java代码: 读取文件并返回包含txt文件内容的字符串的方法
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>
所以在填写文件后第一次显示内容
答案 0 :(得分:0)
当服务器生成html时,您的java getLog()
函数只会被评估一次。之后,javascript变量arrayNew
保存日志内容。当您点击ALL
范围时,您实际上并没有调用您的Java服务器 - 只有客户端javascript,所以您只是反复显示相同的内容。
如果您希望在单击网页上的某个按钮时调用服务器,则需要使用AJAX或只刷新整个页面。