Я последовал за первым ответом на этот пост . Это позволило мне отправить ошибку в сервлете, чтобы она появилась в поле на jsp при загрузке после сервлета. Проблема в том, что теперь, если я загружаю jsp без отправки сервлета, по-прежнему появляется всплывающее сообщение с надписью «ноль».
Из ответа на пост я сделал следующее:
Я установил атрибут в сервлете:
request.setAttribute("alertMsg", "data add sucess");
Затем я перенаправил на jsp, используя requestDispatcher:
RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.include(request, response);
Добавлен этот тег скриптлета в jsp:
<% String message = (String)request.getAttribute("alertMsg");%>
Добавлен этот скрипт js в jsp:
<script type="text/javascript">
var msg = "<%=message%>";
alert(msg);
</script>
И Я попытался решить проблему, изменив javascript, опубликованный в ответе, на что-то вроде:
<script type="text/javascript">
var msg = "<%=message%>";
if(!msg.equals(null)){
alert(msg);
}
</script>
Я пробовал разные варианты этого сценария, например, проверять, является ли сообщение пустым, используя! =,! = = вместо равно или просто если (msg), но ничего не работает. Это может быть глупой ошибкой в моем синтаксисе. Я использую eclipse, а рядом со строкой есть красный x:
<script type="text/javascript">
Тем не менее, он не дает мне никакого сообщения о том, что не так, когда я наводю на него курсор или нажимаю на него как обычно (тоже ничего на консоли). Я бы опубликовал это как комментарий к ответу, но у меня недостаточно репутации для этого. Любая помощь приветствуется