我正在使用 javax.script.* 包来评估 Java 文件中的 javascript。我正在使用 ScriptEngine 对象来评估一些 javaScript 代码。 javaScript 代码返回一个 boolean 值。我不确定如何捕获 Java 文件中的 boolean 值。例如,参见:
import javax.script.*;
public class Test {
public static void main(String[] args) throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
String filepath = "../test.js";
engine.eval(new java.io.FileReader(filepath));
}
}
测试.js
function test(value) {
if(value==1) {
println("True");
return true;
} else {
println("False");
return false;
}
}
var i=1;
test (i);
我尝试了以下方法:
Boolean result = (Boolean) engine.eval(new java.io.FileReader(filepath));
上面一行抛出 java.lang.NullPointerException 错误。
谢谢, 索尼
最佳答案
在 JS 中:
var result=test (i);
在Java中
engine.eval....
engine.get("result");
关于java - 使用 javax.script.ScriptEngine 对象评估 javaScript 代码后返回 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695198/