Проблема вызова метода апплета со страницы - PullRequest
1 голос
/ 06 мая 2009

Я знаю, что это не оптимально, но мне приходится работать с ним, чтобы страницы вызывали апплет.

Моя проблема в том, что когда я это делаю, я получаю довольно загадочное сообщение об ошибке:

"необработанное исключение: ошибка при вызове метода для объекта NPObject!

[исключение плагина: java.lang.reflect.InvocationTargetException]. "

Кто-нибудь может это расшифровать? Даже множественные возможности были бы лучше, чем хлам, который я придумал. Основной вызов апплета от вызова javascript:

document.getElementById('my_applet').passData("pass some data", someOtherData);

Как видите, метод passData - это метод, который я пытаюсь использовать. Сам апплет прекрасно работает на странице, просто когда я пытаюсь вызвать его, он ничего не делает, кроме как сгенерирует эту ошибку.

Если я спрашиваю человека, работающего над апплетом (это не моя часть), может ли он добавить конструктивную ошибку, или я даже еще не подключился к апплету?

Ответы [ 2 ]

4 голосов
/ 06 мая 2009

InvocationTargetException указывает, что базовый метод в вашем апплете вызвал исключение. «Граница» Javascript to Java использует отражение, поэтому исключения, выдаваемые кодом Java, оборачиваются следующим образом. (Это позволяет отличить их от исключений, созданных до того, как вы попали в код Java. Например, если вы пытались вызвать несуществующий метод.)

Вы можете получить исходное исключение, перехватив InvocationTargetException и затем вызвав его метод getTargetException() или getCause() (оба они делают одно и то же).

0 голосов
/ 11 мая 2009

Я бы посоветовал вам посмотреть, что такое someOtherData . Если someOtherData не является правильным типом, это может вызвать такое исключение. Похоже, вы пытаетесь передать объект DOM?

Взгляните на эту страницу в Руководстве по JavaScript O'Reilly , чтобы увидеть доступные типы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...