`
qq1988627
  • 浏览: 107346 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java执行javascript

    博客分类:
  • Java
 
阅读更多
package com.byd.mes.util.script;

import java.util.HashMap;
import java.util.Map;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

import sun.org.mozilla.javascript.internal.NativeObject;

public class ScriptUtils {
	private static final ScriptEngineManager manager = new ScriptEngineManager();
	private Map<String,Callback> custom = new HashMap<String,Callback>();
	
	public interface Callback{
		void callBack(String script);
	}
	
	private Map<String,Callback> conf = new HashMap<String,Callback>();
	{
		conf.put("testing", new ScriptUtils.Callback(){
			@Override
			public void callBack(String script) {
				ScriptEngine engine = manager.getEngineByName("javascript");
				try {
					engine.eval(script);
					Invocable invocableEngine = (Invocable)engine;
					NativeObject obj = (NativeObject) invocableEngine.invokeFunction("testing", 1);			
					System.out.println(obj.get("nextOperation", null));
				} catch (Exception e) {
					throw new RuntimeException("执行Script脚本失败[function:testing]",e);
				}
				
			}});
	}
	
	public static void testing(String script){
		
	}

	public void setCustom(Map<String,Callback> custom) {
		this.custom = custom;
		this.conf.putAll(custom);
	}

	public Map<String,Callback> getCustom() {
		return custom;
	}
}

 

分享到:
评论

相关推荐

    java执行JavaScript代码

    要在Java中运行JavaScript,首先需要引入支持JavaScript的引擎,如Nashorn(在Java 8中默认提供,但在Java 11后被废弃)或Rhino。如果使用Nashorn,通常不需要额外的库,因为它已经包含在Java标准版中。若选择Rhino...

    Java执行JavaScript代码.pdf

    标题和描述中提到的“Java执行JavaScript代码”指向了一个特定的技术范畴,即在Java环境中执行JavaScript代码。这通常涉及到使用Java中的脚本引擎API,特别是那些支持JavaScript的实现。从提供的部分内容中可以提炼...

    Java执行JavaScript代码

    Java执行JavaScript代码是一种常见的跨语言交互场景,尤其是在服务器端应用中,例如集成第三方JavaScript库或者在Java应用中利用JavaScript的灵活性。以下将详细介绍如何在Java中执行JavaScript代码,并结合提供的...

    Java调用javaScript代码

    例如,你可以在Java服务端定义一个接口,该接口允许在运行时加载和执行JavaScript脚本来完成特定任务,这样就能轻松地切换或更新业务逻辑,而无需重新编译和部署Java代码。 在实际项目中,这种方法可以应用于许多...

    效率非常快的java读取javascript,附带源码和js.jar

    6. `js.jar`:这是Rhino的库文件,包含了运行JavaScript所需的类和接口,如`org.mozilla.javascript.*`包下的类。 在使用Rhino时,开发者通常会创建一个`ScriptEngineManager`实例,然后通过`getEngineByName(...

    使用Rhino让java执行javascript的方法实例

    在Java中运行JavaScript代码的能力是开发跨平台应用时的一个强大工具,这使得Java开发者能够利用JavaScript的灵活性和库资源。Rhino,由Mozilla基金会开发,就是这样一个JavaScript引擎,它允许Java程序直接执行...

    java和javascript之间的DES加密解密

    这些文件可以直接运行,用于演示如何在Java和JavaScript之间进行DES加密解密。通过查看和理解这些代码,你可以更好地了解如何在实际项目中应用这一技术。 6. **安全注意事项**: 虽然DES在某些场景下仍可用,但它...

    Java和JavaScript库进行交互

    2. **Nashorn JavaScript引擎**:Java 8引入了Nashorn JavaScript引擎,可以直接在JVM(Java虚拟机)中运行JavaScript代码。Java可以通过`javax.script`包中的接口与JavaScript交互,允许在Java程序中执行JavaScript...

    Java/JavaScript专家门诊

    它的设计目标是“一次编写,到处运行”,这意味着Java代码可以在各种平台之间无缝移植。Java广泛应用于企业级应用开发、服务器端编程、移动应用(尤其是Android平台)、大数据处理以及云计算等领域。Java的特点包括...

    java与javascript互相加解密

    这两种语言在不同的环境运行,Java主要在服务器端,而JavaScript则在客户端。在数据传输过程中,为了保证数据的安全,加密技术扮演了关键角色。本篇将深入探讨如何使用DES(Data Encryption Standard)算法在Java和...

    JavaApplet与JavaScript

    ### JavaApplet与JavaScript #### 6.1 JavaApplet ##### 6.1.1 JavaApplet概述 **Applet 类层次结构:** JavaApplet 的基础是 `java.applet.Applet` 类,它是从 `java.awt.Panel` 继承而来的一个特殊的图形组件。...

    java javascript 调用命令行 cmd

    在IT领域,有时候我们需要在Java或JavaScript代码中执行操作系统级别的命令,例如运行系统脚本、管理文件、控制进程等。这种需求通常通过调用命令行(CMD)来实现。本文将详细探讨如何在Java和JavaScript中调用...

    Java 和 Javascript Bridge 封装.zip

    JavaScript通过执行特定的函数或方法,触发一个事件,这个事件被Java端的监听器捕获,进而执行相应的Java代码。完成后,Java端可以通过调用JavaScript函数返回结果,完成双向通信。 这个开源项目"Scripto-master...

    java运行js脚本引擎-----rhino

    Java运行JavaScript脚本引擎Rhino是一个强大的工具,它允许Java应用程序执行JavaScript代码并利用JavaScript的灵活性和动态性。Rhino是Mozilla基金会开发的一个开源项目,它完全用Java编写,因此可以无缝集成到Java...

    Java调用Javascript.pdf

    例如,文档可能包含了一个HTML页面中的Applet标签,该标签指向Java Applet的一个class文件,Java Applet被用来执行后台的Java代码,而JavaScript则用于处理前端的页面交互。 从给出的内容中,我们可以看到一些关键...

    Java和JavaScript.doc

    Java和JavaScript是两种不同的编程语言,虽然名字相似,但它们在设计理念、用途、执行方式和语法特性等方面有着显著的区别。 1. 开发背景与公司: - Java是由SUN Microsystems(后被Oracle收购)推出的,它是一种...

    6tail-lunar-javascript-master_java_javascript_老黄历_

    这个项目可能是一个库或者框架,它不含任何第三方依赖,因此可以在纯JavaScript环境中独立运行。"Java"标签可能意味着项目同时也提供了与Java平台的接口或适配器,使得Java开发者也能方便地使用这个库。 描述中的...

    java操作javaScript案例

    通过上述示例,我们了解了Java操作JavaScript的基本流程:初始化`ScriptEngineManager`,获取`ScriptEngine`实例,执行脚本,以及通过`Invocable`接口调用脚本中的方法。这一机制不仅提升了Java程序的灵活性,还为...

    itwill_java_oracle_javascript-master_java_javascript_

    1. Java代码:可能使用JDBC(Java数据库连接)来连接Oracle数据库,执行SQL查询,处理结果集。 2. JavaScript代码:可能涉及前端与后端的交互,如通过Ajax发送请求,获取并显示从Oracle数据库获取的数据。 3. 示例...

    可互操作的Java和JavaScript AES/128/192/256加密算法代码

    这些代码可能包括JavaScript和Java两部分,分别展示了如何初始化密钥、执行加密和解密操作,并确保结果在两个环境间一致。为了确保互操作,开发者可能需要进行一些额外的步骤,比如在JavaScript中使用Base64编码将二...

Global site tag (gtag.js) - Google Analytics