#java #javascript
#java #javascript
Вопрос:
Мне нужно вызвать некоторый код javascript из моего Java-приложения, могу ли я это сделать?
спасибо adi
Ответ №1:
Вы можете сделать это, используя стороннюю библиотеку, такую как Rhino, но простого способа вызвать код JavaScript из Java не существует. Хотя у них похожие названия, общего у них примерно столько же, сколько у автомобиля и карамели.
В более общем плане, взаимодействие программ, написанных на одном языке, с языками, написанными на другом, часто затруднено из-за несовместимости внутренних компонентов двух реализаций языка программирования с другой. Из этого правила есть много исключений, и было вложено много усилий, чтобы заставить проекты работать на нескольких языках, но зачастую стоимость запуска высока.
Комментарии:
1. Что ж, либо с библиотеками интеграции Mozilla / Rhino, либо с JDK 1.6 «ScriptEngine», на самом деле вызвать JavaScript из Java очень просто. Фактически средство ScriptEngine может передавать обратно объекты, обернутые вокруг экземпляра ScriptEngine, реализующего любой API, который вы хотите, и из этого объекта Java-код может напрямую вызывать JavaScript.
2. спасибо, я попробую … я думаю, это в значительной степени то, что я ищу … (:
Ответ №2:
Да, вы можете, либо взяв Rhino из Mozilla и используя его библиотеки интеграции, либо воспользовавшись средством JDK 1.6 «ScriptEngine».
Имейте в виду, что версия Rhino (движок JavaScript, реализованный на Java, созданный Mozilla), входящий в состав JDK 6, довольно старая и с ошибками.
Ответ №3:
LiveConnect прекрасно справляется с этой задачей, смотрите Ссылки и примеры для JSObject. Вас, вероятно, заинтересует JSObject.eval, который даст вам возможность выполнять код JavaScript в контексте любого объекта JavaScript.
Комментарии:
1. Я думаю, что вопрос здесь касается Java-кода на стороне сервера, а не апплетов.