Я использую пакет javax.script. * Для оценки javascript в файле Java. Я использую объект 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