我想用HttpServletResponse对象编写一个响应,告诉浏览器客户端打开一个带有一些消息的弹出窗口 - 我该怎么做?
答案 0 :(得分:9)
每个Servlet响应基本上都是一个Http doc / snippet。因此,您可以返回对将在客户端执行的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>");
答案 1 :(得分:1)
向HttpServletResponse添加一些将打开弹出窗口的Javascript代码,例如
<script type="text/javascript">
function popupWindow() {
window.open( "someLinkToBePoppedUp" )
}
</script>
答案 2 :(得分: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>");
答案 3 :(得分:0)
一般来说,你不能。
由于它们对烦人的广告很受欢迎,大多数浏览器拒绝尝试打开弹出窗口,这些弹出窗口不是对用户在页面中所做的事情的响应。
如果您只想显示消息,您可以将其包含在页面中,或输出script element,其中包含alert statement。