java - 使用 javax.script.ScriptEngine 对象评估 javaScript 代码后返回 boolean 值

标签 java javascript javax.script

我正在使用 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/

相关文章:

java - LdapRepository 配置不匹配

java - JMeter - 无法使用 CIFS Sampler(Groovy) 扩展网络带宽

javascript - 从背景淡入到另一个背景

javascript - 同时显示两个独立加载且加载时间不同的元素

javascript - Rhino load() 函数在 javax.script 提供的 JavaScript 中可用吗?

java - 如何在 Java 应用程序中通过 JavaScript 启动程序?

java - 由于简单的 JSON 依赖而导致 JAR 文件错误

java - 使用 java7 在 Jhipster 上创建应用程序?

javascript - 如何使用 XSLT 将节点位置号作为元素附加到 XML?