资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java怎么调用js代码 java调用js脚本获取结果

Java调用JS脚本里的方法

;   本例子使用了JDK 以上的javax script包 通过Invocable接口实现JAVA调用JS脚本里的方法 本例中调用分为内部执行脚本和外部执行脚本 外部执行脚本分为不带参数调用和带参数调用 主要采用invokeFunction方法调用         ObjectinvokeFunction(String name Object… args)        用于调用脚本中定义的顶层程序和函数         ObjectinvokeMethod(Object thiz String name Object… args)        对以前的脚本执行中已经编译的脚本对象(以 ScriptEngine 的状态保持)调用某一方法         package de javase;        import javax script Invocable;        import javax script ScriptEngineManager;        import javax script ScriptEngine;        import java io File;        import java io Reader;        import java io FileReader;        public class AjavaInvokingFunction {        public static void main(String[] args) {        // 获得一个JavaScript脚本引擎 也可以是ECMAScript脚本引擎        ScriptEngineManager manager = new ScriptEngineManager()         ScriptEngine engine = manager getEngineByName( JavaScript )         String titlescript = function sayTitle() {         +    println( 源码实例 使用javax script调用JS脚本里的方法 )         +    println( )         + } ;        try {   

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站建设、成都做网站、网站策划、网页设计、域名申请雅安服务器托管、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

// 调用内部脚本执行         engine eval(titlescript)         // 转换为Invocable        Invocable invocableEngine = (Invocable) engine;        // 不带参数调用sayTitle方法        invocableEngine invokeFunction( sayTitle )         // 调用外部脚本执行         // 创建JS文件的File对象 并读入流        File functionscript = new File( ajava js )         Reader reader = new FileReader(functionscript)         // 开始执行ajava js里的程序        engine eval(reader)         // 不带参数调用sayHello方法        invocableEngine invokeFunction( sayHello )         // 带参数调用sayHello方法        invocableEngine invokeFunction( sayHello mark )         } catch (Exception e) {        e printStackTrace()         }        }        }        ajava js文件         function sayHello(){        sayHello(null)         }        function sayHello(name){        if(name==null){        println( 欢迎你!请注册Ajava会员 )         }else{        println(name+ 独立JAVA社区欢迎你 )         }        }        运行结果(控制台)         源码实例 使用javax script调用JS脚本里的方法 lishixinzhi/Article/program/Java/hx/201311/26436

请问怎么写java调用node环境运行js代码?

nodejs 运行代码可以在命令行中使用命令“ node /path/xxx.js ”来执行

所以我们可以借助 java 的 Runtime 类,可以执行系统本地的命令, 例如:

Linux系统下:Runtime.getRuntime().exec("node /path/xxx.js");

Window系统下:Runtime.getRuntime().exec("cmd /c node /path/xxx.js");

当然推荐使用 Apache-Commons-Exec 工具类,可以屏蔽不同系统命令差异,并且获取结果更简单

工具类使用可以参考此文: 网页链接

如何用java执行指定页面中的js代码

要在java中执行js代码,首先明白,java不支持浏览器本身的方法。支持自定义的js方法,否则会报错

先新建一个js文件:jsss.js

内容如下:

function aa(a,b){    return a+b;

}

然后在java中写代码:

public class ZipTest {

public static void main(String[] args) throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("js");

String jsFileName="G:\\javaPro\\zmwmcc\\WebRoot\\jsss.js";

FileReader reader = new FileReader(jsFileName);   // 执行指定脚本             engine.eval(reader);

if(engine instanceof Invocable) {

Invocable invoke = (Invocable)engine;    // 调用merge方法,并传入两个参数

Double c = (Double)invoke.invokeFunction("aa", 2, 3); //调用了js的aa方法

System.out.println(c);

}

// engine.eval("alert(\"js alert\");");    // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不    }

}


网站名称:java怎么调用js代码 java调用js脚本获取结果
网页网址:http://cdkjz.cn/article/dohseeh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220