全网整合营销服务商

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

免费咨询热线: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 


相关文章: 制作网站的公司有哪些,做一个公司网站要多少钱?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在腾讯云免费申请建站?  如何快速辨别茅台真假?关键步骤解析  建站主机选虚拟主机还是云服务器更好?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  C++时间戳转换成日期时间的步骤和示例代码  北京制作网站的公司,北京铁路集团官方网站?  如何在搬瓦工VPS快速搭建网站?  重庆市网站制作公司,重庆招聘网站哪个好?  怎么将XML数据可视化 D3.js加载XML  ui设计制作网站有哪些,手机UI设计网址吗?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  如何设计高效校园网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在橙子建站上传落地页?操作指南详解  Python如何创建带属性的XML节点  定制建站价位费用解析与套餐推荐全攻略  再谈Python中的字符串与字符编码(推荐)  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  深圳网站制作平台,深圳市做网站好的公司有哪些?  行程制作网站有哪些,第三方机票电子行程单怎么开?  临沂网站制作公司有哪些,临沂第四中学官网?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  广德云建站网站建设方案与建站流程优化指南  如何用已有域名快速搭建网站?  建站之星会员如何解锁更多建站功能?  海南网站制作公司有哪些,海口网是哪家的?  ,巨量百应是干嘛的?  如何高效完成独享虚拟主机建站?  如何确认建站备案号应放置的具体位置?  如何通过可视化优化提升建站效果?  网站制作公司排行榜,抖音怎样做个人官方网站  如何注册花生壳免费域名并搭建个人网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何使用Golang安装API文档生成工具_快速生成接口文档  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何在宝塔面板中修改默认建站目录?  如何快速搭建高效WAP手机网站吸引移动用户?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  制作宣传网站的软件,小红书可以宣传网站吗?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  建站主机无法访问?如何排查域名与服务器问题 

您的项目需求

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