我试图从JS调用Java applet中的方法。我对如何安排我的工作流程感到有点困惑。我有一个jsp(pending.jsp)类,其中包含一个javascript(pending.js)。 pending.jsp只是一个容纳pending.js的容器。 pending.js的目的是使用户能够取消创建报告。
pending.jsp:
<div id="pending-reports-container" class="pending-reports-container">
<div id="pending-reports">
</div>
</div>
pending.js:
function update_pending_reports(response_data)
{ bla }
function delete_report(report_id)
{ bla }
function request_pending_reports()
{ bla }
function start_pending_reports() {
request_pending_reports();
setInterval("request_pending_reports()", 5000);
}
因为取消报告有时效率不高,所以我想使用Java来取消发送到postgres的请求(pending.js不会杀死在postgres上运行的进程)。我创建了我的Java类,但我不知道在哪里添加它。我知道我可以使用标签,但是当我尝试将这个标签添加到我的jsp文件中时:
<div id="pending-reports-container" class="pending-reports-container">
<div id="pending-reports">
<applet id="LS" width=1 height=1 code ="module/LicenseCheckService.class" codebase="."/>
</div>
</div>
我无法通过此代码从pending.js中找到它:
getJS = document.getElementById("LS");
我的代码是否有问题,或者我首先在这个结构上错了吗?
答案 0 :(得分:1)
请参阅Invoking Applet Methods From JavaScript Code Oracle文档。
Nutshell版本是JavaScript通过applet ID引用applet对象,并且可以在其上调用方法。
appletId.anAppletMethod();
var anAppletClass = appletId.getAnAppletClass();
anAppletClass.methodCalled("with a JavaScript string parameter");
// Etc.
答案 1 :(得分:1)
见Dave Newton的回答。
或者,您还可以检查HTML字段或从Applet调用javascript方法。您可以构建由applet主动控制的交互。