Javascript 恢复HTML中的DIV文本

Javascript 恢复HTML中的DIV文本,javascript,jquery,html,servlets,Javascript,Jquery,Html,Servlets,我在我的网页上维护一个控制台日志,以显示错误/异常和成功案例,如下所示 因此,一旦用户选择了有效的文件并上传它们,servlet就会上传文件并将上传路径返回控制台,如下所示 正如您在我的第二张图片中看到的,控制台也被刷新,丢失了所有以前的消息,我不希望发生这种情况。我该怎么做 我用JS中的holds控制台填充div标记,如下所示 else if(FileName1 == FileName3 || FileName1 == FileName4 || FileName2 == FileName3

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

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

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

我用JS中的holds控制台填充div标记,如下所示

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>
最后,我想做的就是避免控制台刷新,这样它就不会丢失其消息历史记录。
如何做到这一点?

您可以重写上传逻辑以使用ajax请求—使用javascript不需要太多工作—使用FormData和XMLHttpRequest将数据发送到服务器,并且您需要将servlet转换为web服务


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

servlet是否重新生成整个页面?当您提交表单时,它可能会这样做,不是吗?是的。我需要这个功能,因为一些文本是从上传的文件输入编辑器的。我不能在不使任务复杂化的情况下完成任务吗?如果你导致回发,那么你的页面肯定会消失,除此之外,console.but中的文本将
旧控制台文本
与文件一起提交到servlet,并用新页面重新发送它们应该不会那么复杂,但是我不知道ajax。因此,我将开始学习并实现它。也许在javascript的帮助下保存div id=“box”的旧html就足够了-例如,请参阅。对于start,使用
textarea
而不是控制台的
div
会更简单,因此它会与文件一起发送到servlet
String f2 = "Uploaded file " +fileName+ " at " +uploadedFile.getAbsolutePath();;
request.setAttribute("f2stat", f2);
RequestDispatcher rd = request.getRequestDispatcher("geco.jsp");
rd.forward(request, response);