此方法对带有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元起,快前往官网查看详情吧