js 和java有关系吗,javascript和JAVA有什么关系

69de59afb2fce2bf5d5b270e3925bb70.png

2017-07-28

Java调用javascript

package co。test;

import java。io。FileReader;

import java。io。LineNumberReader;

import org。mozilla。 javascript。Context;

import org。mozilla。javascript。Function;

import org。mozilla。javascript。Scriptable;

public class JSExploration

{

private Context cx;

private Scriptable scope;

public JSExploration()

...全部

package co。test;

import java。io。FileReader;

import java。io。LineNumberReader;

import org。mozilla。

javascript。Context;

import org。mozilla。javascript。Function;

import org。mozilla。javascript。Scriptable;

public class JSExploration

{

private Context cx;

private Scriptable scope;

public JSExploration()

{

this。

cx = Context。enter();

this。scope = cx。initStandardObjects();

}

public Object runJavaScript(String filename)

{

String jsContent = this。

getJsContent(filename);

Object result = cx。evaluateString(scope, jsContent, filename, 1, null);

return result;

}

private String getJsContent(String filename)

{

LineNumberReader reader;

try

{

reader = new LineNumberReader(new FileReader(filename));

String s = null;

StringBuffer sb = new StringBuffer();

while ((s = reader。

readLine()) != null)

{

sb。append(s)。append("\n");

}

return sb。toString();

}

catch (Exception e)

{

// TODO Auto-generated catch block

e。

printStackTrace();

return null;

}

}

public Scriptable getScope()

{

return scope;

}

public static void main(String[] args)

{

String filename = System。

getProperty("user。dir") + "/jsmap。js";

JSExploration jsExploration = new JSExploration();

Object result = jsExploration。

runJavaScript(filename);

Scriptable scope = jsExploration。getScope();

Function sum = (Function) scope。

get("sum", scope);

Function isPrime = (Function)sum。call(Context。getCurrentContext(), scope, sum, new Object[] {2,8});

Object ss = isPrime。

call(Context。getCurrentContext(), sum, isPrime, new Object[] {2,8});

System。out。println(Context。

toString(ss));

}

}

试验了一个java 调用 javascript 的例子,如果把jsmap。js中的与this 有关的代码注销的话程序就可以正常运行。不住销掉的话就会报个运行时错误。

。。

js 代码如下(有关this 的代码已注销):

function

sum(x, y) {

// this。formulaeObject = null;

// this。

formulaeObject["vager"] = function (c, d) {

// return (c + d)/2;

// };

var vager = 1000;

return function (x,y){return x + y + vager;} ;

}

编辑特别推荐:

Java处理带BOM的文本

几个主流的Java连接池

java内省机制。收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值