我正在使用javax.script.*包在Java文件中评估JavaScript。 我正在使用ScriptEngine对象来评估一些JavaScript代码。 JavaScript代码返回一个布尔值。 我不确定如何在Java文件中捕获布尔值。 例如,参见:
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));
}
}
test.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 错误。
谢谢, Sony
println
都起作用了吗? - Dilum Ranatunga