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内省机制。收起

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gson 入门_Google GSON入门

gson 入门在Java世界中,JSON已成为事实上的XML数据交换格式标准,因为它的易用性和传输效率高。 如果您不了解JSON,那就是Javascript对象表示法,这是一种基于文本的数据交换格式,是名称-值的集合,其中名称严…

Java面向对象(18)--final关键字使用

在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。 final标记的类不能被继承,提高安全性,提高程序的可读性 如:String类、System类、StringBuffer类。 final标记的方法不能被子类重写 如:Objec…

php 高级搜索下拉框,高级搜索页面advancedsearch.php调用自定义字段

下面跟大家谈的是关于”如何在在高级搜索页面advancedsearch.php调用自定义字段“方法:步骤:找到advancedsearch.php页面。$query "select main.id as aid,main.*,main.description as description1, type.* from $maintable main left join dede2…

创新设计模式:抽象工厂模式

抽象工厂模式是一种创建模式,是与构建器和工厂模式一起最受欢迎的模式之一。 使用创建模式是为了创建对象,而不是直接使用构造函数创建对象。 抽象工厂模式提供了一种封装一组具有共同主题的单个工厂而无需指定其具体类的方法。 采用该模式的目的是使对…

php算法台阶,php如何解决青蛙跳台阶的问题(代码)

本篇文章给大家带来的内容是关于php如何解决青蛙跳台阶的问题(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后…

Java面向对象(19)--抽象类与抽象方法abstract

用abstract关键字来修饰一个类,这个类叫做抽象类。 用abstract来修饰一个方法,该方法叫做抽象方法。 抽象方法:只有方法的声明,没有方法的实现。以分号结束: 比如:public abstract void talk(); 含有抽象…

php检测一个变量是否设置函数,php如何判断变量是否有设置的函数

php判断变量是否有设置的函数的方法:可以利用isset()函数来进行判断。isset()函数用于检测变量是否已设置并且非NULL。如果指定变量存在且不为NULL,则返回TRUE,否则返回FALSE。isset() 函数用于检测变量是否已设置并且非 NULL。(推荐教程&…

Java面向对象(20)--接口

接口的使用 ①接口使用interface来定义 ②Java中,接口和类是并列的两个结构 ③定义接口中的成员 JDK7及以前:只能定义全局常量和抽象方法 全局常量: public static final修饰的,书写时,可以省略不写 抽象方法: public abstract修饰的&#x…

java轮询文件停止线程,java 运行多线程轮询时,外部停止轮询

1,先建一个Map/*** 创建一个Map用于存放线程id对象集合,主要是用于到达岗亭之后扫码付费,如果人工收费就需要关闭线程,key是停车记录Id,*/public static MapMAPTHREAD new HashMap();2.建一个线程类继承Runnable/*** …

Java面向对象(21)--内部类

当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类。 在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类&a…

mockito_吸收Mockito的流利度

mockito我最近发现自己编写了一些代码来集成两个不同的平台。 这些系统之一是基于Java的系统,而另一个虽然不是用Java编写的,却提供了Java API。 我将这些系统分别称为Foo和Bar。 在我编写一行代码之前就很明显了,但是,测试最终…

Java异常处理(1)--异常概述与异常体系结构

在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: ①Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等…

Payara Micro在Oracle应用容器云上

在此博客文章中,我将介绍如何将打包在Payara Microber -jar中的CloudEE Duke应用程序部署到Oracle Application Container Cloud 。 在Oracle Application Container Cloud中进行部署所需的部署工件是一个ZIP归档文件,其中包含应用程序ber-jar和清单文件…

认知无线电matlab代码详解,认知无线电频谱感知之功率检测matlab代码.docx

认知无线电频谱感知之功率检测matlab代码能量检测仿真实验代码:clear all;clc;n 5;ps 1;SNR1 -5;SNR2 -8;SNR3 -10;% Sim_Times10000; %Monter-Carlo times% m5;T0.001;% 信号带宽W W5*10^4;% 采样频率Fs 2*W;m T*W;n 2*T*W;% F0W;% Fs2;% Sigsqrt(2)*sin(2…

Java异常处理(2)--异常处理机制及自定义异常

在编写程序时,经常要在可能出现错误的地方加上检测的代码,如进行x/y运算时,要检测分母为0,数据为空,输入的不是数据而是字符等。过多的if-else分支会导致程序的代码加长、臃肿,可读性差。因此采用异常处理机…

php index.php 文件路径,自研 PHP 框架 1.0_index.php 文件说明

index.php说明在服务上,PHP 引擎其实只执行了 index.php 这一个文件,index.php 可以抽象的看做是产品的最终型态,app 下的文件规定如何组装,system 下的文件提供基本的“组装零件”,最后拼装成一个完整的产品&#xff…

jaas_受JAAS保护的JAX-RS端点

jaas随着RESTFUL(JAX-RS)作为创建Web服务端点的“首选”方式的问世,很长一段时间以来,我一直想知道人们如何围绕它实现安全机制。 归根结底,我假设JAX-RS的基础实现是servlet,因此其安全性也可能围绕容器&…

Java多线程(1)--基本概念:程序、进程、线程

程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周…

php中return返回数组,PHP中return返回数组的一点用法

本文就学习中遇到的PHP函数return返回值的问题,这一点return用法进行了说明。在函数的内部用return返回一个值或者为空来结束函数的运行。但是在return一个数组的时候,也可以在函数的内部直接使用print_r来打印。但一般都不这么做。拿上一篇文章举例&…

Thread类的有关常用方法

线程优先级问题 start(): 启动线程,并执行对象的run()方法(线程对象.start()) run(): 线程在被调度时执行的操作(线程对象.start()) currentThread(): 返回当前线程,在Thread子类中就是this,通常…