Как использовать java.util.Observable из Javascript? - PullRequest
1 голос
/ 11 января 2010

Я создаю модуль Drupal, который интегрирует Java-апплет "FileCatalyst" со стандартной формой Drupal. Я реализую ловушку для отправки формы после завершения передачи файла. В настоящее время я опрашиваю апплет с помощью вызова setTimeout (), но этот метод может пропустить изменения состояния, если они происходят слишком быстро.

Однако объект FileCatalyst наследуется от java.util.Observable - так что, по-видимому, можно зарегистрировать наблюдатель для апплета и получать уведомления об изменениях состояния. Я хотел бы знать, как это реализовать.

Можно ли использовать функцию document.FileCatalyst.addObserver (obj) из Javascript для отправки этих изменений состояния в объект Javascript? Что я передаю в addObserver? Как мне построить наблюдателя? Какие методы необходимо использовать наблюдателю для получения уведомлений об изменении состояния?

Ответы [ 3 ]

0 голосов
/ 11 января 2010

Каждый Java-апплет также является объектом Javascript, предлагающим те же методы, что и объект Java. Таким образом, вы можете вызвать addObserver () из Javascript. Объект, который вы передаете в качестве параметра должен быть объектом Javascript, предлагающим те же методы, которые указаны типом Observer (при условии, что addObserver () принимает один параметр типа Observer).

0 голосов
/ 11 января 2010

Вам необходимо использовать URL-адреса перенаправления, указанные в файле fcupload.js. Например:

var callurlaftertransfer = "javascript: submitForm ()";

Тогда вы бы заставили функцию submitForm () сделать вызов, например document.myform.submit ();

Надеюсь, это поможет!

Chris

0 голосов
/ 11 января 2010

Я не могу полностью ответить на ваш вопрос, но я читал, что у java.util.Observable есть темная сторона (см. Head First Design Patterns). А именно, Observable должен быть включен в иерархию классов. Подойдет ли PropertyListener в java.beans вашему сценарию использования? Если это так, то есть много примеров кода, который показывает, как настроить PropertyListeners для простого старого JavaBean.

...