从 Servlet 调用 Javascript 函数

Calling Javascript function from Servlet

这是我的情况:

我想从链接到 JSP 文件的 servlet 调用 jAlert(String) Javascript 方法。

我尝试了以下

response.getWriter().println("<script type='text/javascript'>jAlert('Hello');</script>");

但是没有结果。

之后,我从Mozilla找到了一个叫Rhino的工具,但是我不知道怎么用。求助!

谢谢。

response.getWriter().println("<script type='text/javascript'>jAlert('Hello');</script>");

上面的代码永远不会在浏览器上呈现,因为您正在将请求转发到 JSP 页面,无论是使用 RequestDispatcher 还是使用 sendRedirect 方法。在这两个选项中,只会针对您在 JSP.

上所写的内容生成响应

在开始 Web 应用程序开发之前,您应该了解的第一件事是客户端和服务器端之间的区别。

您的代码将只呈现建议浏览器调用该方法的标签。但它不会呈现该方法,因此在浏览器(客户端)上会出现未找到方法的错误,并且仅当浏览器希望仅使用脚本标记并调用 jAlert('Hello');.

时才会出现该错误

对于您的问题,无法从 servlet(服务器端)调用客户端 javascript 方法。

Rhino 是 java 中的一个 javascirpt 引擎,用于 运行 javascrpt。但我不明白你为什么要在 JSP 上执行 javascript 方法。 Rhino 是一个 java 库,代码将在服务器端执行。