Выполнение Java-скомпилированного файла JavaScript с использованием Mozilla / Apache Rhino - PullRequest
0 голосов
/ 17 августа 2011

У меня возникла небольшая проблема, но я не уверен, что делаю неправильно.Я взял последнюю версию Rhino, но документация по API 404ing, а последняя версия, доступная в интернет-архиве, не завершена!

У меня есть файл JavaScript с несколькими функциями.Я скомпилировал это в файл .class и могу получить к нему доступ в Java для выполнения print () и т. Д.

Что я не могу понять, так это как получить доступ к возвращаемым значениям функций JavaScript илизапустить скрипт и вернуть значение.

    CompiledClass instance = new CompiledClass();
    instance.main(arg);

... работает нормально, но main не (и не может) возвращать значение.Если у меня в JavaScript есть метод с именем say countApples (), который возвращает int, как мне получить к нему доступ?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Используйте javap, чтобы узнать имя метода и вызвать его напрямую (не используйте main()).

0 голосов
/ 17 августа 2011

Если вы используете последнюю версию Java, вероятно, будет проще всего использовать новый javax.scripting API, представленный в JSR-223.

Модифицированная форма движка Rhino теперь включена в стандартную библиотеку Java начиная с JDK 6.

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

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