2010-10-31 42 views

回答

9

每一個Servlet的響應基本上是一個HTTP文檔/片斷。所以你可以將一個調用返回給一個將在客戶端執行的javascript函數。該函數可以在該Servlet響應中傳遞,也可以預先包含在.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

有一個問題 - 原來的頁面變成空白 - 我想要的內容留下來的消息,只是彈出 – 2010-10-31 19:44:02

+0

點擊OK它去空白頁,但我之後只想呆在那個頁面裏怎麼樣?我在上面的代碼resp.sendRedirect(「./ index.jsp」)後嘗試了這一點;'但沒有獲得警報 – 2014-08-11 11:07:41

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>");