文档章节

在Java中调用javascript代码

别寒
 别寒
发布于 2015/07/28 16:36
字数 211
阅读 12
收藏 0

在实现区域控制的时候,突然想到,能不能在Java中调用javascript来实现呢?查了一下,还真的可以在Java中调用js。下面是代码:

String dp = "114.018107,22.672359|114.151774,22.66142|114.153212,22.577351|114.092558,22.542373|114.006896,22.548782|114.01322,22.596571|113.981025,22.659019|113.981025,22.659019|";
		String carPoiont = "114.151774,22.66142";
		
		
		ScriptEngineManager manager = new ScriptEngineManager();   
		ScriptEngine engine = manager.getEngineByName("javascript");     

		String jsFileName = "WebRoot/Resources/AreaJud.js";   // 读取js文件 
		

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

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

		// c = merge(2, 3);    

		Double c = (Double)invoke.invokeFunction("stringJudge", dp, carPoiont);    

		System.out.println("c = " + c);   
		}   

		reader.close();

实现是实现了,但是Java调用javascript还是有诸多限制,比如在js中我们会用到大量的浏览器对象,比如document、alert等,在Java中调用javascript的时候这些对象都不能使用,所以,我的功能只能换一种方式来实现了。




© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 272
码字总数 138741
作品 0
永州
程序员
私信 提问
json-rpc-for-java的网友评论

json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量 级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要...

红薯
2009/12/11
884
2
在服务器端运行JavaScript文件(一)

简介: 把JavaScript脚本与服务器上Java代码相结合,从而获得在服务器端和客户端都能够自由使用的JavaScript脚本。另外,经过这一系列的被展现技术,无论是基于Ajax还是非Ajax的客户端,都将...

长平狐
2012/10/16
976
0
Cordova插件中JavaScript代码与Java的交互细节介绍

在Cordova官网中有这么一张架构图:大家看右下角蓝色的矩形框"Custom Plugin"——自定义插件。意思就是如果您用Cordova打包Mobile应用时,发现您的移动应用里需要使用一些功能,这些功能用普...

jerrywangsap
2018/08/25
0
0
Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScrip

Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。 如何实现 实现Java和j...

SuShine
2015/07/06
0
0
javafx 的 webview中js调用java重载方法

如题 javafx使用webview控件的时候 需要用js调用java代码 但是java代码中如果有重载方法 (方法名相同 方法参数不通 )就会被覆盖 无法全部调用 js参数是可变长度的 如何在javafx类中 得到完...

衷于栖
2015/01/18
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
21分钟前
0
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
0
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
0
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
3
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部