【工具】ScriptEngine--Java动态执行JS Javascript脚本(可调用java的方法) 增加代码灵活性 适合复杂业务经常变动
    		       		warning:
    		            这篇文章距离上次修改已过453天,其中的内容可能已经有所变动。
    		        
        		                
                
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.Invocable;
 
public class ScriptEngineExample {
    public static void main(String[] args) {
        // 创建一个ScriptEngineManager实例
        ScriptEngineManager manager = new ScriptEngineManager();
        // 获取JavaScript引擎
        ScriptEngine engine = manager.getEngineByName("nashorn");
 
        try {
            // 执行JavaScript代码
            engine.eval("print('Hello, World!');");
 
            // 如果需要从Java调用JavaScript中的函数,可以这样做:
            Invocable invocable = (Invocable) engine;
            // 调用JavaScript函数
            Object result = invocable.invokeFunction("javaFunction", "Hello, JavaScript!");
            // 打印JavaScript函数返回的结果
            System.out.println("Result from JavaScript: " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}在这个例子中,我们首先创建了一个ScriptEngineManager实例,然后通过getEngineByName("nashorn")获取了JavaScript引擎。接着,我们通过eval方法执行了一段简单的JavaScript代码,输出了"Hello, World!"。最后,我们演示了如何从Java调用JavaScript中定义的函数,并打印了该函数的返回结果。这个例子展示了如何使用Java的javax.script包来动态执行JavaScript代码,并实现Java和JavaScript之间的交互。
评论已关闭