JSP - JS - Java взаимодействие - PullRequest
       35

JSP - JS - Java взаимодействие

0 голосов
/ 20 сентября 2011

Я пытаюсь вызвать метод в Java-апплете из JS. Я немного запутался в том, как организовать свой рабочий процесс. У меня есть класс 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 ]

1 голос
/ 20 сентября 2011

См. Ответ Дэйва Ньютона.

В качестве альтернативы , вы также можете проверить поле HTML или вызвать метод javascript из Applet.Вы можете создать взаимодействие, которое будет активно контролироваться апплетом.

Ссылка здесь: Java-апплет на JS Link

1 голос
/ 20 сентября 2011

См. Методы вызова апплета из кода JavaScript Документы Oracle.

В двух словах версия состоит в том, что JavaScript ссылается на объект апплета по идентификатору апплета и может вызывать методы для него.

appletId.anAppletMethod();
var anAppletClass = appletId.getAnAppletClass();
anAppletClass.methodCalled("with a JavaScript string parameter");
// Etc.
...