`
laodaobazi
  • 浏览: 273128 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript操作java对象

    博客分类:
  • Java
阅读更多

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;
    }
    
}

 

2
1
分享到:
评论
1 楼 zgpinguo 2012-04-04  
dwr就是一种javascript调用java方法的。。。

相关推荐

    javascript使用Blob对象实现的下载文件操作示例

    本文实例讲述了javascript使用Blob对象实现的下载文件操作。分享给大家供大家参考,具体如下: Blob对象 前言 环境 操作 总结 Blob是一个类文件的不可变的原始数据对象,非javascript原生数据类型,File对象...

    javascript面向对象编程

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    计算机后端-Java-PHP视频教程javascript01-6 对象操作.wmv

    计算机后端-Java-PHP视频教程javascript01-6 对象操作.wmv

    计算机后端-Java-PHP视频教程javascript01-12 操作对象属性.wmv

    计算机后端-Java-PHP视频教程javascript01-12 操作对象属性.wmv

    javascript实现Java中的Map对象功能的实例详解

    javascript 自定义对象实现Java中的Map对象功能 Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据...

    JavaScript对象属性操作实例解析

    这篇文章主要介绍了JavaScript对象属性操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在js对象中,我们可以对对象属性进行操作。 上图的要点为...

    猎头java技术型。熟练掌握JAVA面向对象编程语言

    熟练掌握JAVA面向对象编程语言,有良好的编码习惯 熟悉常用的JavaAPI,包括多线程、IO、Socket、JDBC、XML、反射等 熟练使用HTML、CSS、JavaScript、JQuery,并了解Ajax 熟练使用JSP、Servlet、javaBean进行web应用...

    javascript 使用手册

     其次,JavaScript是基于对象的,而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。...

    JavaScript之浏览器对象_动力节点Java学院整理

    JavaScript可以获取浏览器提供的很多对象,并进行操作。下面通过本文给大家介绍JavaScript之浏览器对象的相关知识,一起看看吧

    JavaScript基础&BOM,学习Java第42天

    Java Script由三个主要组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型 注:ECMAScript描述了语法、类型、语句、关键字、保留字、运算符和对象。它就是定义了脚本语言的所有属性、方法和...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JavaScript实现Java中Map容器的方法

    因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作. function ...

    jquery对象和javascript对象即DOM对象相互转换

    DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法,但是不能使用 jQuery 里的方法。例如:document.getElementById(“img”).src = “test.jpg”;这里的document.getElemen

    JavaScript语言参考手册

    这一章包含了 JavaScript 的核心对象 Array,Boolean,Date,Function,Math,Number,Object 和 String。这些对象同时在客户端和服务器端的 JavaScript 中使用。 Array 属性 方法 Boolean 属性 方法 Date 属性 方法...

    Java源码包100个设计实例.zip

    Java存储与读取对象.rar Java局域网通信——飞鸽传书源代码.rar JAVA帮助视图组件库 Help GUI 1.1源代码.rar JAVA开发的打字软件源程序.rar Java开发的简单WEB服务器源码.rar Java数据压缩与传输实例 Java数组倒置 ...

    JavaScript基础.doc

    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源码包4

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    源文件程序天下JAVASCRIPT实例自学手册

    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 块 ...

Global site tag (gtag.js) - Google Analytics