您的位置:

java中使用js处理数据,js获取java变量

java中使用js处理数据,js获取java变量

更新:

本文目录一览:

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使用js处理逻辑

首先呢 js 是网络脚本语言,可以进行运算

Java呢 是程序设计语言

首先,你js要运算的数据从哪里来,页面或是在js函数里直接写死? 当然 都可以

Java呢,要输出,输出的内容从哪里来?要输出js运算的结果,对吧

那么 你首先做的当然是写js函数去运算,得到结果

那么,如果你想用Java输出,就要把你js运算的结果传给Java .

js传值给Java,目前最常用的就是ajax,手写ajax费时费力,一般都会采用jquery的ajax.希望可以帮到你,虽然不知道你这样做的目的是什么,这样做应该没有问题.

如何在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处理数据,js获取java变量

本文目录一览: 1、java程序中运行js脚本 2、java使用js处理逻辑 3、如何在java中调用js方法 java程序中运行js脚本 123456789101112131415161718192

2023-12-08
js得到java的值,js获取java变量

本文目录一览: 1、js中怎么获取java中的变量 2、如何在javascript中获取java变量值 3、怎么在js中取java变量的值,朋友们帮忙说说 js中怎么获取java中的变量 js与jav

2023-12-08
js使用javasdk(js使用java变量)

本文目录一览: 1、java怎么配置微信js-sdk 2、js怎么调用JAVA方法 3、在html页面中如何用js调用java类 4、求使用java怎样配置微信JSSDK的使用方法 wx.config

2023-12-08
js获取java的数组,java获取json中的数组

本文目录一览: 1、在js文件中怎么获得java方法返回的值 2、js中获取java文件传过来的list对象列表 3、js 数组 在java中怎么读取 4、JS怎么接收Java返回的数组?求解答 在j

2023-12-08
重学java笔记,java笔记总结

2022-11-23
java实现自定义javascript读取java的变量的简

2023-01-03
java程序js脚本(Java脚本)

本文目录一览: 1、java程序中运行js脚本 2、怎么把JS嵌入到Java程序中 3、java脚本里怎么写javascript 4、JS脚本怎么运行? 5、如何在js脚本中写java代码 6、如何把

2023-12-08
java中执行js(java中执行sql语句)

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

2023-12-08
java里可以调用js里的参数吗,js调用java方法

本文目录一览: 1、java 调用 js函数 2、java怎么调用javascript 3、如何在java中调用js方法 4、java如何调用js里的变量 java 调用 js函数 function是

2023-12-08
js调用java,js调用java类中的方法

2022-11-30
java中调用js脚本(java中调用js脚本获取结果)

本文目录一览: 1、如何在java中调用js方法 2、java怎么调用javascript 3、java程序中运行js脚本 如何在java中调用js方法 在Java中调用js文件中的function,

2023-12-08
java中使用js函数(js有哪些函数)

本文目录一览: 1、java程序中运行js脚本 2、Java怎么不能调用JavaScript的某些函数 3、java用什么调用js代码 java程序中运行js脚本 我们要在Java中执行JavaScr

2023-12-08
java里面引用js脚本(用js写脚本)

本文目录一览: 1、java中怎么调用js代码 2、如何把java代码嵌入到javascript中 3、java程序中运行js脚本 4、java怎么调用javascript 5、如何在java中调用j

2023-12-08
java调用js,java调用js方法

2023-01-07
同一页面js数据传输到java的简单介绍

本文目录一览: 1、js中调用java 如何将js中的参数传到java中 如何使用ajax 2、js中的值能传到java代码中去吗 3、js中怎么把值给java 4、怎么将js获取的值传递给当前页面中

2023-12-08
java调用js,java调用js脚本

2022-11-28
js和java建立流(java流的使用)

本文目录一览: 1、在Android上怎样实现JAVA和JS交互 2、怎么用java代码创建js文件!!! 3、怎么把js文件添加到java界面里面 在Android上怎样实现JAVA和JS交互 an

2023-12-08
php获取js中变量(php获取变量名)

2022-11-10
js的事件处理丶java教程网(js中事件)

本文目录一览: 1、关于js事件捕获的用法 2、JS中事件的调用 3、请简单说明javascript中处理事件的步骤 4、java中js的事件使用---$("p").style("background

2023-12-08
java实现自定义javascript解析读取java的变量

2022-11-23