Я поддерживаю консольный журнал на своей веб-странице, чтобы отображать ошибки/исключения и случаи успеха, как показано ниже.
Поэтому, как только пользователь выбирает правильные файлы и загружает их, сервлет загружает файлы и возвращает загруженный путь на консоль, как это
Как вы можете видеть на моем втором изображении, консоль также обновляется, теряя все предыдущие сообщения, я не хочу, чтобы это произошло. Как мне это сделать?
Я заполняю тег div с помощью консоли, как следует из JS
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, который содержит консоль, получает значения из сервлета следующим образом
<div id="box">${f1stat}<br>${f2stat}<br>${f3stat}<br></div>
Сервлет посылает ответ следующим образом:
String f2 = "Uploaded file " +fileName+ " at " +uploadedFile.getAbsolutePath();;
request.setAttribute("f2stat", f2);
RequestDispatcher rd = request.getRequestDispatcher("geco.jsp");
rd.forward(request, response);
Наконец, все, что я хочу сделать, это избежать обновления консоли, чтобы он не потерял свою историю сообщений. Как это сделать?
Вы можете переписать логику загрузки для использования ajax-запроса - это не так много работы с javascript - используйте FormData и XMLHttpRequest для отправки данных на сервер, и вам нужно будет преобразовать ваш сервлет в веб-службу.
С другой стороны, вы можете прикреплять уже сгенерированные данные из консоли в запросе и возвращать их из сервлета (в текущей конфигурации), а затем добавлять их к новому ответу.