gpt4 book ai didi

java - 从 JavaScript 代码调用 Java 函数?

转载 作者:行者123 更新时间:2023-11-28 15:59:50 25 4
gpt4 key购买 nike

好吧,也许这是一个很常见的问题,但我找不到正确的答案......
我有一个 Java 函数(实际上是一个 Servlet),我需要/尝试做的是:
完成一些操作后,我需要在代码中执行其他操作之前显示一个“确认”窗口...我通过 javascript 执行此操作,如下所示:

out.println("<script type='text/javascript'>");
out.println("result = confirm(Do you wanna to record in DB?)");
out.println("if(result)");
out.println(" alert('will record');");
out.println("else");
out.println(" alert('will not record')");
out.println("</script>");
out.flush();

但是该代码后面的行会在显示我的对话框消息之前执行。所以,现在我想调用不同的函数(我有警报的地方)。我的 Java 类/servlet 中的函数...
那么...我怎样才能在我的 javascript 代码中调用 Java 函数呢?或者我需要做什么才能让我的代码等待我确认我的消息?
谢谢

最佳答案

首先,您需要清楚地了解相应代码的执行位置……以及执行时间。

  1. JSP 代码在 HTML 及其嵌入的 Javascript 发送到浏览器之前在服务器端执行。

  2. 浏览器收到 HTML 及其嵌入的 Javascript 后,Javascript 代码将根据浏览器大小执行。

因此,您想要的是 Javascript 请求确认,然后将记录保存到数据库中。显然,该 JSP 不应该保存该记录......或者至少不是无条件的。必须发生的是,单击确认按钮必须导致 Javascript 向服务器发送请求以表明操作已确认。顺序是:

  1. 客户端:请求页面
  2. 服务器端:做一些事情...
  3. 服务器端:JSP 格式 HTML + Javascript
  4. 客户端:页面加载
  5. 客户端:Javascript 显示确认对话框
  6. 客户端:用户说"is"
  7. 客户端:Javascript 会向服务器端发送一个请求,告诉服务器客户端已确认。
  8. 服务器端:执行已确认的操作。
  9. 服务器端:发送报告操作的响应。

有几种构建确认交互的方法:

  • 第 5 步可以是 AJAX 请求,其中使用 XMLHttpRequest 或类似方法发出 POST 请求。
  • 第 5 步可能是使用附加参数重新加载页面,以告知服务器端保存已确认。

在后一种情况下,请求可以由与原始请求相同的处理程序或不同的处理程序处理。

关于java - 从 JavaScript 代码调用 Java 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com