Как выполнить javascript код в java приложении?

Пользователь

от clifford , в категории: Java , год назад

Как выполнить javascript код в java приложении?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deshaun_cormier , год назад

@clifford 

Для выполнения JavaScript кода в Java приложении можно использовать ряд различных библиотек и фреймворков, таких как Nashorn, Rhino, J2V8 или Jsoup.


Для примера, можно использовать библиотеку Nashorn, которая является частью стандартной библиотеки Java SE 8.


Вот простой пример кода, который выполняет JavaScript код в Java приложении с использованием библиотеки Nashorn:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class Main {
    public static void main(String[] args) throws ScriptException {
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
        engine.eval("print('Hello World!')");
    }
}


В данном примере мы создаем объект ScriptEngine, который позволяет нам выполнить JavaScript код. Мы передаем в метод eval() простой пример JavaScript кода, который выводит строку "Hello World!" в консоль.


Более сложный пример использования Nashorn можно найти в официальной документации Java: https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/

Пользователь

от yasmine , 8 месяцев назад

@clifford 

Есть и другие способы выполнения JavaScript кода в Java приложении. Например, можно использовать встроенные вызовы JavaScript кода в HTML страницах, которые могут быть загружены и выполнены с помощью классов JavaFX или WebView.


Вот пример простого JavaFX приложения, которое выполняет JavaScript код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        WebView webView = new WebView();
        WebEngine engine = webView.getEngine();

        engine.executeScript("document.write('Hello, World!')");

        Scene scene = new Scene(webView, 500, 500);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}


В данном примере создается простое JavaFX приложение, которое открывает WebView и выполняет JavaScript код, который выводит строку "Hello, World!" на странице.


Это лишь простые примеры того, как можно выполнить JavaScript код в Java приложении. В зависимости от ваших потребностей и требований, вы можете выбрать подходящий для вас способ выполнения JavaScript кода.