从 JSP 页面调用 java class 方法

Calling a java class method from a JSP page

当我在 JSP 页面上单击按钮时,我需要调用某个 java 方法。我该怎么做呢?我已经尝试将脚本编写到按钮的 onclick 中,我在其中创建了 class 的实例,然后使用它来调用该方法,但它不起作用。

您尝试执行的操作是不可能的。被点击的按钮是在客户端发生的一个动作,与任何服务器代码无关。客户对您的 java 代码一无所知。

JSP 是 Java 服务器页面的首字母缩写词。这项技术为您提供了组合静态 html 和 java 代码的方法。当它被编译时,它将变成一个 servlet,一个 .class 文件。调用时输出 html 。然后将此 html 交给客户。交给客户端的内容没有 java 逻辑。所有 java 代码都用于生成此内容,同时仍在服务器上。生成后就大功告成了,现在你只有html、css、javascript.

您需要做的是使用一些 java脚本。为您需要的按钮分配一个点击侦听器,然后对服务器进行 AJAX 调用。根据您获得的响应(从服务器到客户端),您再次使用 javascript.

应用一些更改

有很多方法可以为相关按钮应用侦听器。

  1. 内联函数

    <button onclick="myFunction()">Click me</button>

  2. 事件侦听器

    document.getElementById("myBtn").addEventListener("click", displayDate);

看看this and this

当然,您可以使用像 jQuery 这样的 js 库,只需几行代码即可为您提供轻松的功能。

如果您只知道 java,并想尽可能多地摆脱其他技术,那么您可以查看 Google Web Toolkit。基本上是 java 到 java 脚本代码的编译器。

除了之前的答案,Java 代码在服务器端执行,而不是在您的浏览器中执行,如果您确实有 Java 代码要在服务器上执行,您可以 post 从 HTML 表单或 Ajax 回调到 servlet,一些 endpoint/service 或使用其他 Web 框架,然后从那里执行代码。