package com.lf.server.helper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; /** * JS帮助类 * * @author WWW * @date 2024-02-29 */ public class JsHelper { private final static Log log = LogFactory.getLog(JsHelper.class); /** * 调用JS方法 */ public Object callJsFn() { try { // 创建 JavaScript 引擎管理器 ScriptEngineManager manager = new ScriptEngineManager(); // 获取 JavaScript 引擎 ScriptEngine engine = manager.getEngineByName("javascript"); // 定义要执行的 JavaScript 脚本 String script = "function addNumbers(a, b){ return a + b; }"; // 编译并运行 JavaScript 脚本 engine.eval(script); // 调用 JavaScript 函数 Invocable invocable = (Invocable) engine; Object obj = invocable.invokeFunction("addNumbers", 2, 3); return obj; } catch (Exception ex) { log.error(ex.getMessage(), ex); return null; } } }