Используя среду сценариев (javax.script. *), Очень легко получить базовую интеграцию между Java и Javascript. Однако, как только вы захотите сделать что-то действительно полезное, вы натолкнетесь на все небольшие пути, по которым мост из Javascript обратно в Java (и, в некоторой степени, и в другом направлении) является грязным.
Пример: если у вас есть объект Javascript, настроенный для реализации интерфейса Java (который в основном прост в исполнении), и один из методов, который вы хотите реализовать, должен вернуть массив строки, вы не можете просто сделать это:
// ...
return [ firstString, "hello world", lastString ];
Это не сработает, потому что массивы Javascript не преобразуются автоматически в массивы Java. Вы должны явно создать массив Java с отражением, заполнить его и вернуть , что .
Есть несколько раздражающих вещей, подобных этому, и ни одна из них сложна , на самом деле, не справиться, но, поскольку я сейчас начинаю со второго проекта, который нуждается в этих инструментах, я задаюсь вопросом, была решена с помощью некоторого простого Javascript-фреймворка «бридж», предназначенного для этой цели. Я не нашел ничего полезного с помощью поиска в Google (в основном потому, что любой поиск с термином «java» приводит к миллиарду посещений), но здесь есть люди, которые, кажется, знают все, поэтому я решил спросить.