本文实例讲述了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小时内与您取得联系。