您的位置:

java中执行js(java中执行sql语句)

java中执行js(java中执行sql语句)

更新:

本文目录一览:

如何在java中调用js方法

有时候因为需要,我们想在Java中调用js方法,不再是像页面中一个事件触发,该如何做到呢?今天下午没事得时候小研究了下,现跟大家分享一下。不对之处,望大家指正,共同进步!

[java] view plain copy

/*

* 加载脚本引擎,并在java中调用js方法

*/

public void test2()

{

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("JavaScript");

try {

String str="21";

Double d = (Double) engine.eval(str);

Integer i=d.intValue();

System.out.println(i);

} catch (ScriptException ex) {

ex.printStackTrace();

}

}

[java] view plain copy

/*

* 在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] view plain copy

/*

* 演示如何将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] view plain copy

/*

* 演示如何在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就可以执行动态语言了,不过注意是jdk1.6版本的哦~

这样写不知道你能不能看懂,这个问题远标java就已经讲过这个题目了,希望能帮到你!

如何通过java代码调用js

JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码。

在Java中直接调用js代码

不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined。

package com.sinaapp.manjushri;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException; /** * 直接调用js代码 */

public class ScriptEngineTest {

public static void main(String[] args) {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

try{

engine.eval("var a=3; var b=4;print (a+b);");

// engine.eval("alert(\"js alert\");"); // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不存在的异常

}catch(ScriptException e){

e.printStackTrace();

}

}

}

java用什么调用js代码

在Java中直接调用js代码

不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined。

在Java中绑定js变量

在调用engine.get(key);时,如果key没有定义,则返回null

java怎么调用javascript

可参考:

package javaIjs;

/**

* @param args

*/

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/**

* Java调用并执行js文件,传递参数,并活动返回值

*

* @author manjushri

*/

public class ScriptEngineTest {

public static void main(String[] args) throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = System.getProperty("user.dir")+"/src/javaIjs/expression.js";

// 读取js文件

FileReader reader = new FileReader(jsFileName);

// 执行指定脚本

System.out.println(engine.getContext().getReader());

engine.eval(reader);

if (engine instanceof Invocable) {

Invocable invoke = (Invocable) engine;

// 调用merge方法,并传入两个参数

// c = merge(2, 3);

Double c = (Double) invoke.invokeFunction("merge1", 21, 3);

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

}

reader.close();

}

}

java程序中运行js脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

public class ExecJs {

/**

* 记录日志类

*/

private Logger log = Logger.getLogger(ExecJs.class);

/**

* 后置处理,执行js脚本

* @param js

* @throws Exception

*/

public void execJs(String js, MapString,Object map) throws Exception {

if (log.isDebugEnabled()) {

log.debug("execJs js : " + js);

IteratorEntryString, Object it = map.entrySet().iterator();

while (it.hasNext()) {

EntryString, Object entry = (EntryString, Object) it.next();

log.info("EXECJS MAP : " + entry.getKey() + "---" + entry.getValue());

}// end while

}// end if

if ("".equals(js) || js == null) {

log.info("EXECJS ERROR : JAVASCRIPT CONTENT IS NULL");

} else if(map == null || map.size()=0){

log.info("EXECJS ERROR : MAP CONTENT IS NULL");

} else {

// 获取脚本引擎

ScriptEngineManager mgr = new ScriptEngineManager();

ScriptEngine engine = mgr.getEngineByName("javascript");

// 绑定数据

ScriptContext newContext = new SimpleScriptContext();

Bindings bind = newContext.getBindings(ScriptContext.ENGINE_SCOPE);

bind.putAll(map);

try {

engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);

engine.eval(js);

} catch (Exception e) {

log.info("EXECJS EXCEPTION : EXECUTE JAVASCRIPT EXCEPTION", e);

throw (e);

}// end try

}// end if

}

}

请问怎么写java调用node环境运行js代码?

nodejs 运行代码可以在命令行中使用命令“ node /path/xxx.js ”来执行

所以我们可以借助 java 的 Runtime 类,可以执行系统本地的命令, 例如:

Linux系统下:Runtime.getRuntime().exec("node /path/xxx.js");

Window系统下:Runtime.getRuntime().exec("cmd /c node /path/xxx.js");

当然推荐使用 Apache-Commons-Exec 工具类,可以屏蔽不同系统命令差异,并且获取结果更简单

工具类使用可以参考此文: 网页链接

java中执行js(java中执行sql语句)

本文目录一览: 1、如何在java中调用js方法 2、如何通过java代码调用js 3、java用什么调用js代码 4、java怎么调用javascript 5、java程序中运行js脚本 6、请问怎

2023-12-08
java执行sql,java执行sql脚本工具

2023-01-07
在java中使用sql语句进行(java调用sql语句)

2022-11-09
java程序执行js脚本(java执行脚本语言)

本文目录一览: 1、如何用java执行指定页面中的js代码 2、如何在java中调用js方法 3、如何通过java代码调用js 4、java程序中运行js脚本 如何用java执行指定页面中的js代码

2023-12-08
java执行sql,Java执行sql没保存 有时候数据没落

2022-11-30
如何在java中执行mysql,如何在Java中执行Linu

2022-11-17
java文本执行是什么(java执行语句)

2022-11-16
java模拟执行js,java执行java

本文目录一览: 1、如何用java执行指定页面中的js代码 2、如何在java中调用js方法 3、请问怎么写java调用node环境运行js代码? 4、java程序中运行js脚本 如何用java执行指

2023-12-08
在js中执行php(执行JavaScript)

2022-11-13
java执行js对象,js函数执行

本文目录一览: 1、JavaScript的对象怎么在java后台调用 2、java程序中运行js脚本 3、javascript中怎样用java中的对象 JavaScript的对象怎么在java后台调用

2023-12-08
用java执行python,java程序怎么执行

2022-11-19
js内执行php,js执行方式

2022-11-21
js解析成php执行,php 执行js

本文目录一览: 1、JS的效果怎么转换成PHP来实现? 2、如何让JS执行完毕再执行PHP 3、怎么在php里执行JS JS的效果怎么转换成PHP来实现? js是无法转换成PHP的,一个前端一个后台。

2023-12-08
java动态编译mysql语句,java 动态编译执行

2022-12-01
js中如何写php语句,php执行js的代码

2022-11-29
js代码执行逻辑求大神指教一下(js代码执行器)

本文目录一览: 1、如何执行javascript代码 2、js的执行原理是什么? 3、一段JS代码,部分出现了问题,求大神指教 4、JS脚本怎么运行? 5、js的逻辑应该怎么理解? 如何执行javas

2023-12-08
java学习笔记(java初学笔记)

2022-11-14
java调用mysqldump(java调用mysql执行s

2022-11-08
java执行,java执行linux命令

2022-12-02
php中执行mysql语句(php执行sql文件)

2022-11-10