java 返回js_[Java教程]js调用java代码返回解决方案
时间: 2023-12-10 08:05:32 浏览: 74
要在 Java 中返回一个值给 JavaScript,可以使用 Java 的 ScriptEngine 和 Invocable 接口。以下是一个简单的示例代码:
```java
import javax.script.*;
public class JavaToJavaScript {
public static void main(String[] args) throws Exception {
// 创建 ScriptEngine
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
// 执行 JavaScript 代码
engine.eval("function js_hello(name) { return 'Hello, ' + name + '!'; }");
// 把 ScriptEngine 转换成 Invocable
Invocable invocable = (Invocable) engine;
// 调用 JavaScript 函数并返回结果
String result = (String) invocable.invokeFunction("js_hello", "Java");
// 输出结果
System.out.println(result); // 输出 "Hello, Java!"
}
}
```
在这个例子中,我们创建了一个名为 "js_hello" 的 JavaScript 函数,它接受一个字符串参数并返回一个字符串。然后,我们使用 Invocable 接口调用这个函数,并将结果存储在一个字符串变量中。最后,我们输出了这个结果。
如果你想在 Web 应用程序中使用这个功能,可以将它包装在一个 servlet 中,并将结果返回给客户端的 JavaScript。
阅读全文