JavaScript操作Java对象的实现:
代码片段1(获取脚本引擎):
import java.util.List;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class GetSupportedScriptingEngine {
public static void main(String[] args) {
//创建一个ScriptEngineManager
ScriptEngineManager manager = new ScriptEngineManager();
//取得所有ScriptEngineFactory
List<ScriptEngineFactory> factories = manager.getEngineFactories();
//遍历输出
for (ScriptEngineFactory factory : factories) {
System.out.println("EngineName = " + factory.getEngineName());
System.out.println("EngineVersion = " + factory.getEngineVersion());
System.out.println("LanguageName = " + factory.getLanguageName());
System.out.println("LanguageVersion = " + factory.getLanguageVersion());
System.out.println("Extensions = " + factory.getExtensions());
List<String> names = factory.getNames();
for (String name : names) {
System.out.println("Engine Alias = " + name);
}
//通过factory获取ScriptEngine
ScriptEngine scriptEngine = factory.getScriptEngine() ;
//ScriptEngine scriptEngine1 = manager.getEngineByExtension("js") ;其他方式获取
//ScriptEngine scriptEngine2 = manager.getEngineByName("JavaScript") ;其他方式获取
try {
//脚本引擎执行JavaScript语句
scriptEngine.eval("var arr = new Array() ; arr.push(1); print(arr.pop())") ;
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
}
代码片段2(JS操作Java):
import java.util.ArrayList;
import java.util.List;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class JSModifiedJava {
public void sayHello(String name){
System.out.println("*************Hello***************"+name);
}
public static void main(String[] args) {
//创建 List对象,并添加3个原用户
List<String> us = new ArrayList<String>();
us.add("JLee 1");
us.add("JLee 2");
//获得JS引擎
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("js");
//把List对象加入JS引擎
engine.put("usList", us);
//将要操作的对象法如引擎
engine.put("obj", new JSModifiedJava()) ;
try {
engine.eval(getScript());//通过引擎调用getScript()
//显示所有用户
for (String usname : us) {
System.out.println("所有用户 = " + usname);
}
} catch (ScriptException e) {
e.printStackTrace();
}
//根据JavaScript名获取一个脚本引擎实例
ScriptEngine engine2 = manager.getEngineByName("JavaScript");
try {
engine2.eval("print('Hello JLee ...')");
} catch (ScriptException e) {
e.printStackTrace();
}
}
//获取JavaScript串
private static String getScript() {
//我们在脚本里添加4个新用户
String script =
"var index; " +
"var usname = usList.toArray(); " +
"for (index in usname) { " +
" println('原用户='+usname[index]); " +
"}" +
"usList.add(\"JLee 3\"); " +
"usList.add(\"JLee 4\"); " +
"obj.sayHello('JLee')" ;
return script;
}
}
分享到:
相关推荐
本文实例讲述了javascript使用Blob对象实现的下载文件操作。分享给大家供大家参考,具体如下: Blob对象 前言 环境 操作 总结 Blob是一个类文件的不可变的原始数据对象,非javascript原生数据类型,File对象...
面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...
计算机后端-Java-PHP视频教程javascript01-6 对象操作.wmv
计算机后端-Java-PHP视频教程javascript01-12 操作对象属性.wmv
javascript 自定义对象实现Java中的Map对象功能 Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据...
这篇文章主要介绍了JavaScript对象属性操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在js对象中,我们可以对对象属性进行操作。 上图的要点为...
熟练掌握JAVA面向对象编程语言,有良好的编码习惯 熟悉常用的JavaAPI,包括多线程、IO、Socket、JDBC、XML、反射等 熟练使用HTML、CSS、JavaScript、JQuery,并了解Ajax 熟练使用JSP、Servlet、javaBean进行web应用...
其次,JavaScript是基于对象的,而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。...
JavaScript可以获取浏览器提供的很多对象,并进行操作。下面通过本文给大家介绍JavaScript之浏览器对象的相关知识,一起看看吧
Java Script由三个主要组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型 注:ECMAScript描述了语法、类型、语句、关键字、保留字、运算符和对象。它就是定义了脚本语言的所有属性、方法和...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作. function ...
DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法,但是不能使用 jQuery 里的方法。例如:document.getElementById(“img”).src = “test.jpg”;这里的document.getElemen
这一章包含了 JavaScript 的核心对象 Array,Boolean,Date,Function,Math,Number,Object 和 String。这些对象同时在客户端和服务器端的 JavaScript 中使用。 Array 属性 方法 Boolean 属性 方法 Date 属性 方法...
Java存储与读取对象.rar Java局域网通信——飞鸽传书源代码.rar JAVA帮助视图组件库 Help GUI 1.1源代码.rar JAVA开发的打字软件源程序.rar Java开发的简单WEB服务器源码.rar Java数据压缩与传输实例 Java数组倒置 ...
1.2 JavaScript和Java的区别 3 1.3 运行JavaScript 3 1.4 JavaScript的格式 4 2 JavaScript语法基础 6 2.1 值、变量与常量 6 2.1.1 值 6 2.1.2 变量 6 2.1.3 常量 7 2.2 运算符与表达式 7 2.2.1 表达式 7 2.2.2 操作...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
1.11 JavaScript与Java、Java applet 1.12 JavaScript的未来如何 1.13 本章小结 第2章 JavaScript语言入门 2.1 编程准备 2.1.1 编程术语 2.1.2 脚本执行顺序 2.1.3 大小写敏感 2.1.4 空白字符 2.1.5 分号 2.1.6 块 ...