全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java编程中实现调用js方法分析

本文实例讲述了java编程中实现调用js方法。分享给大家供大家参考,具体如下:

/*
* 加载脚本引擎,并在java中调用js方法
*/
public void test2()
{
     ScriptEngineManager manager = new ScriptEngineManager();
     ScriptEngine engine = manager.getEngineByName("javascript");
     try {
       String str="2&1";
       Double d = (Double) engine.eval(str);
       Integer i=d.intValue();
       System.out.println(i);
     } catch (ScriptException ex) {
      ex.printStackTrace();
     }
}

/*
* 在java中调用js,jdk1.6中有加载js引擎类,然后由它来调用js方法。
* 并通过JDK平台给script的方法中的形参赋值
*/
public void test(String name)
{
    ScriptEngineManager sem = new ScriptEngineManager();
    /*
     *sem.getEngineByExtension(String extension)参数为js
     sem.getEngineByMimeType(String mimeType) 参数为application/javascript 或者text/javascript
     sem.getEngineByName(String shortName)参数为js或javascript或JavaScript
     */
    ScriptEngine se = sem.getEngineByName("js");
    try
    {
     String script = "function say(){ return 'hello,'"+name+"; }";
     se.eval(script);
     Invocable inv2 = (Invocable) se;
     String res=(String)inv2.invokeFunction("say",name);
     System.out.println(res);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
}

/*
* 演示如何将java中对象作为js中全局变量,同时演示将file类赋给脚本语言,并获得其属性。
*/
public void testScriptVariables()
{
    ScriptEngineManager sem=new ScriptEngineManager();
    ScriptEngine engine=sem.getEngineByName("js");
    File file=new File("c://1.txt");
    engine.put("f", file);
    try {
      engine.eval("println('path:'+f.getPath())");//无法使用alert方法
    } catch (ScriptException e) {
      e.printStackTrace();
    }
}

/*
* 演示如何在java中如何通过线程来启动一个js方法
*/
public void testScriptInterface() throws ScriptException
{
    ScriptEngineManager sem=new ScriptEngineManager();
    ScriptEngine engine=sem.getEngineByName("js");
    String script="var obj=new Object();obj.run=function(){println('test thread')}";
    engine.eval(script);
    Object obj=engine.get("obj");//获取js中对象
    Invocable inv=(Invocable)engine;
    Runnable r=inv.getInterface(obj,Runnable.class);
    Thread t=new Thread(r);
    t.start();
}

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程》

希望本文所述对大家java程序设计有所帮助。


# java  # 调用  # js方法  # java调用js文件的两种常用方法示例(支持V8引擎)  # Java调用接口如何获取json数据解析后保存到数据库  # java中JSONObject转换为HashMap(方法+main方法调用实例)  # java中如何调用js  # 操作技巧  # 加载  # 相关内容  # 中有  # 并在  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 它来  # 程序设计  # 如何将  # 全局变量  # 讲述了  # 如何在  # eval  # intValue  # Integer  # Double 


相关文章: 视频网站制作教程,怎么样制作优酷网的小视频?  高防服务器租用指南:配置选择与快速部署攻略  昆明网站制作哪家好,昆明公租房申请网上登录入口?  建站主机选购指南:核心配置优化与品牌推荐方案  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  已有域名和空间,如何快速搭建网站?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  网站图片在线制作软件,怎么在图片上做链接?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何通过山东自助建站平台快速注册域名?  TestNG的testng.xml配置文件怎么写  山东网站制作公司有哪些,山东大源集团官网?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何选择高效可靠的多用户建站源码资源?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何通过VPS建站实现广告与增值服务盈利?  如何使用Golang table-driven基准测试_多组数据测量函数效率  h5网站制作工具有哪些,h5页面制作工具有哪些?  代购小票制作网站有哪些,购物小票的简要说明?  黑客如何通过漏洞一步步攻陷网站服务器?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何在宝塔面板中创建新站点?  长沙企业网站制作哪家好,长沙水业集团官方网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  *服务器网站为何频现安全漏洞?  c++ stringstream用法详解_c++字符串与数字转换利器  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何在云主机快速搭建网站站点?  建站主机服务器选型指南与性能优化方案解析  高端云建站费用究竟需要多少预算?  Python如何创建带属性的XML节点  建站上市公司网站建设方案与SEO优化服务定制指南  5种Android数据存储方式汇总  如何设计高效校园网站?  如何通过FTP空间快速搭建安全高效网站?  如何零基础在云服务器搭建WordPress站点?  外贸公司网站制作哪家好,maersk船公司官网?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  家具网站制作软件,家具厂怎么跑业务?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何快速搭建支持数据库操作的智能建站平台?  网站制作公司,橙子建站是合法的吗?  XML的“混合内容”是什么 怎么用DTD或XSD定义 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。