2010-10-31 2 views

ответ

9

Каждый Servlet ответ является в основном Http док/сниппет. Таким образом, вы можете вернуть вызов функции javascript, которая будет выполняться на стороне клиента. Функция может быть передана в ответ Сервлета или может быть предварительно включена в файл .js.

только пример:

//servlet code 
PrintWriter out = response.getWriter(); 
response.setContentType("text/html"); 
out.println("<script type=\"text/javascript\">"); 
out.println("alert('deadbeef');"); 
out.println("</script>"); 
+2

Существует проблема - исходная страница становится пустым - я хочу, чтобы содержание, чтобы остаться, и сообщение просто выскочит –

+0

После нажатия на кнопку OK она будет пустой страницы, но я хотите остаться на этой странице только Как? Я пытаюсь сделать это после выше кода 'resp.sendRedirect (" ./ index.jsp ");' но не получать предупреждения –

1

Добавить в HttpServletResponse некоторые Javascript код, который откроет всплывающее окно, что-то вроде

<script type="text/javascript"> 
function popupWindow() { 
    window.open("someLinkToBePoppedUp") 
} 
</script> 
0

Вообще говоря, вы не можете.

Благодаря их популярности для раздражающих рекламных объявлений большинство браузеров отклоняют попытки вскрыть всплывающие окна, которые не являются ответом на то, что пользователь делает на странице.

Если вы просто хотите отображать сообщения, вы можете просто включить его на страницу или вывести script element с alert statement.

1

В принципе, вы не можете сделать это напрямую. Вы должны отправить в ответ код (возможно, HTML и JS), который будет инструктировать браузер клиента, чтобы показать окно сообщения, например

String someMessage = "Error !"; 
PrintWriter out = response.getWriter(); 
out.print("<html><head>"); 
out.print("<script type=\"text/javascript\">alert(" + someMessage + ");</script>"); 
out.print("</head><body></body></html>"); 
Смежные вопросы