在HTML中恢复DIV文本

时间:2014-03-13 07:05:03

标签: javascript jquery html servlets

我在我的网页上维护一个控制台日志,以显示错误/异常和成功案例,如下所示

enter image description here

因此,一旦用户选择有效文件并上传它们,servlet就会上传文件并将上传的路径返回到控制台,如下所示

enter image description here

正如您在第二张图片中看到的那样,控制台也刷新了以前丢失的所有消息,我不希望这种情况发生。我该怎么做?

我正在填充div标签,并按照以下方式从JS <​​/ p>中保存控制台

else if(FileName1 == FileName3 || FileName1 == FileName4 || FileName2 == FileName3 || FileName2 == FileName4)
{
    var err1 = document.getElementById("box");
    err1.innerHTML = "Configuration file and Geco script should not be the same as left or right files. Please check your uploads";
    err1.style.color = "Red";
}
//else if(FileName1.value)
else
{
    var scc1 = document.getElementById("box");
    scc1.innerHTML = "Uploading files, the page might refresh";
    scc1.style.color = "Blue";
    document.myform.submit();   
}

保存控制台的DIV标记从servlet获取值如下

<div id="box">${f1stat}<br>${f2stat}<br>${f3stat}<br></div>

Servlet按如下方式发送响应,

String f2 = "Uploaded file " +fileName+ " at " +uploadedFile.getAbsolutePath();;
request.setAttribute("f2stat", f2);
RequestDispatcher rd = request.getRequestDispatcher("geco.jsp");
rd.forward(request, response);

最后,我想要做的就是避免控制台刷新,这样它就不会丢失其消息历史记录。 怎么做?

1 个答案:

答案 0 :(得分:0)

您可以重写上传逻辑以使用ajax请求 - 它不是很多javascript工作 - 使用FormData和XMLHttpRequest将数据发送到服务器,并且您需要转换您的servlet到网络服务。

另一方面,您可以在请求中附加已经生成的数据,并从servlet中返回它们(在当前配置中),然后将它们添加到新响应中。