java读取js方法返回值-创新互联

java如何读取js里面的方法呢?以下是java读取普通js方法实例

此方法对带有document、windows的js会报错,目前还没研究出来怎么弄,有知道的大哥大姐能评论告诉一下我么!!

在临湘等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作按需定制开发,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸网站建设,临湘网站建设费用合理。

1.创建读取类

public class ScriptJs {

  public String userjs(String filename) throws ScriptException, NoSuchMethodException, IOException {
    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("javascript");

    FileReader reader = new FileReader(filename); // 执行指定脚本
    engine.eval(reader);
    String ret ="";
    if (engine instanceof Invocable) {
      Invocable invoke = (Invocable) engine;
      ret = (String) invoke.invokeFunction("encrypt","ABCD");  //方法名和参数
      
      //System.out.println("s = " + s);
    }
    reader.close();
    return ret;
  }
}

2.js里面的代码

function encrypt(a){return a+"EFG";
}

3.测试以下

public class Test {public static void main(String[] args) throws ScriptException, IOException, NoSuchMethodException {ScriptJs js = new ScriptJs();
        String s = js.userjs("D:\\ideaProjects\\ThirdInterfaceTest\\src\\main\\java\\com\\example\\httpURLConnection\\sign.js");
        //String s = js.userjs("src/main/java/com/example/httpURLConnection/sign.js");  两种都可以
        System.out.println("s = " + s);
    }
}

4.结果:

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻标题:java读取js方法返回值-创新互联
链接URL:http://azwzsj.com/article/dhojhh.html