读取动态填充的txt文件

时间:2013-12-16 11:50:31

标签: java javascript

我用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>

所以在填写文件后第一次显示内容

1 个答案:

答案 0 :(得分:0)

当服务器生成html时,您的java getLog()函数只会被评估一次。之后,javascript变量arrayNew保存日志内容。当您点击ALL范围时,您实际上并没有调用您的Java服务器 - 只有客户端javascript,所以您只是反复显示相同的内容。

如果您希望在单击网页上的某个按钮时调用服务器,则需要使用AJAX或只刷新整个页面。