3
我正在使用javax.script。*包評估Java文件中的JavaScript。我正在使用ScriptEngine對象來評估一些javaScript代碼。 javaScript代碼返回一個布爾值。我不確定如何捕獲Java文件中的布爾值。對於例如,參見:在使用javax.script.ScriptEngine對象評估javaScript代碼之後返回布爾值
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錯誤。
感謝, 索尼
你倆的'println's的工作嗎? – 2012-03-14 02:52:27
是的,println聲明正常工作。我編輯了test.js中的代碼。 – sony 2012-03-14 03:08:44
發佈堆棧跟蹤。 – McDowell 2012-03-14 09:59:19