我在我的网页上维护一个控制台日志,以显示错误/异常和成功案例,如下所示
因此,一旦用户选择有效文件并上传它们,servlet就会上传文件并将上传的路径返回到控制台,如下所示
正如您在第二张图片中看到的那样,控制台也刷新了以前丢失的所有消息,我不希望这种情况发生。我该怎么做?
我正在填充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);
最后,我想要做的就是避免控制台刷新,这样它就不会丢失其消息历史记录。 怎么做?
答案 0 :(得分:0)
您可以重写上传逻辑以使用ajax请求 - 它不是很多javascript工作 - 使用FormData和XMLHttpRequest将数据发送到服务器,并且您需要转换您的servlet到网络服务。
另一方面,您可以在请求中附加已经生成的数据,并从servlet中返回它们(在当前配置中),然后将它们添加到新响应中。