当我点击JSP页面上的按钮时,我需要调用某个java方法。我该怎么做呢?我已经尝试将一个scriptlet编写到按钮的onclick中,我在其中创建了一个类的实例,然后用它来调用该方法,但它不起作用。
答案 0 :(得分:1)
你想做的事是不可能的。单击的按钮是客户端上发生的操作,远离任何服务器代码。客户端对您的Java代码一无所知。
JSP是Java Server Pages的首字母缩写。这是一种技术,为您提供组合静态HTML和Java代码的方法。编译它时,它将只是一个servlet,一个.class
文件。这会在调用时输出html。然后将此HTML传递给客户端。传递给客户端的内容中没有java逻辑。所有java代码都用于生成此内容,同时仍在服务器上。生成之后,它就完成了,现在你只有html,css,javascript。
您需要做的是使用一些JavaScript。将click侦听器分配给您需要的按钮,并对服务器进行AJAX调用。根据您获得的响应(从服务器到客户端),您再次使用javascript应用一些更改。
有许多方法可以为相关按钮应用侦听器。
内联功能
<button onclick="myFunction()">Click me</button>
事件监听器
document.getElementById("myBtn").addEventListener("click", displayDate);
当然,您可以使用jQuery之类的js库,它们可以在几行代码中为您提供轻松的功能。
如果您只知道java,并希望尽可能多地摆脱其他技术,那么您可以查看Google Web Toolkit。基本上是java到javascript代码的编译器。
答案 1 :(得分:0)
添加以前的答案,Java代码在服务器端执行,而不是在浏览器中执行,如果您确实有要在服务器上执行的Java代码,则可以从HTML表单或Ajax回调到servlet,一些端点/服务或使用其他一些Web框架,并从那里执行代码。