JSP - JS - Java交互

时间:2011-09-20 08:05:25

标签: java javascript applet

我试图从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");

我的代码是否有问题,或者我首先在这个结构上错了吗?

2 个答案:

答案 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主动控制的交互。

此处链接:Java Applet To JS Link