`

Java 对 JavaScript 脚本的方法调用

    博客分类:
  • java
阅读更多
package com.chen.java;

import java.io.File;
import java.io.FileReader;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

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

import com.chen.interfaces.Greeter;

/**
 * 这个场景的代码用于在web容器中调用js中定义的方法。Greeter 是java接口类,和js中定义的方法在名称,参数和返回值上保持一致
 * @author Administrator
 *
 */
public class TestScript {
    public static void main(String[] args) {
        String url = TestScript.class.getResource("/").getPath();
        String str = null;
        try {
            str = URLDecoder.decode(url.toString(), "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        String path = new File(str).getParent() + File.separator + "js" + File.separator + "test.js";
        try {
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByName("JavaScript");
            engine.eval(new FileReader(path));
            
            Greeter g = ((Invocable) engine).getInterface(Greeter.class);
            System.out.println("result = " + g.greet("androidla"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


在java中的方法:
package com.chen.interfaces;

public interface Greeter {
    String greet(String whom);
}


在js中定义的方法:
function greet(name) {
	return "I'm write in JavaScript, hello, " + name;
}


运行结果:
result = I'm write in JavaScript, hello, androidla


相关参考: http://www.ibm.com/developerworks/cn/java/j-lo-jse66/index.html
1
1
分享到:
评论

相关推荐

    Java applet调用c++ SSO登录javascript脚本开发教程

    Java applet调用c++ SSO登录javascript脚本开发教程

    在JavaScript中调用Java类和接口的方法

    为了在 JavaScript 中访问原生类型或者引用 Java 类型,可以调用 Java.type() 函数,该函数根据传入的完整类名返回对应对象的类型。下面代码显示如何获取不同的对象类型: var ArrayList = Java.type("java.util....

    脚本化Java

    本章首先介绍如何把JavaScript解释器嵌入到一个Java6应用程序中,以及如何从该应用程序运行JavaScript脚本。然后,回过头来展示这些脚本如何直接脚本化Java对象。我们还将在第23章再次回到Java脚本化的话题,第23章...

    java如何与脚本(javaScript)之间相互调用二

    博文链接:https://yanricheng.iteye.com/blog/129928

    JSP脚本元素调用Java代码.ppt

    JSP脚本元素调用Java代码.ppt

    Java中使用JavaScript脚本的方法步骤

    主要介绍了Java中使用JavaScript脚本的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Rhino脚本引擎技术介绍

    本文介绍了Rhino脚本引擎,如何在Java中使用脚本引擎调用javascript,以及javascript和java间的交互,并给与示例代码。

    Java直接运行JS代码

    Java直接运行JS代码样例 java中调用js脚本 java中直接调用js代码

    javascript后台调用的工具类

    一个后台使用javascript的工具类 大家可以看一看 让你的js不是那么难 直接粘贴到自己的项目中就可以使用 写的不好 大家勿喷

    使用C# 的webBrowser写模拟器时的javascript脚本调用问题

    加入Javascript脚本的地方: HtmlElement jsElement = webBrowser1.Document.CreateElement(script); jsElement.SetAttribute(type, text/javascript); jsElement.SetAttribute(text, showMeAction = function(e) {...

    kettle中使用js调用java类的方法

    主要介绍了kettle中使用js调用java类的方法,本文讲解了注意事项和调用语法,需要的朋友可以参考下

    javascript.java

    java调用javascript执行rsa加密,ScriptEngineManager操作javascript脚本文件

    .net与javascript脚本的交互方法总结

    本文实例总结了.net与javascript脚本的交互方法,分享给大家供大家参考。具体方法如下: 1.asp.net呼叫js 代码如下:Response.Write(“[removed]”); Response.Write(“alert(‘登峰欢迎您 ‘);” ); ...

    Android中在WebView里实现Javascript调用Java类的方法

    为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。 1、映射Java对象到...

    java_run_js.rar_run_run java script

    Java执行和调用JavaScript脚本文件的示例,使用Java调用JavaScript文件并输入结果。

    ASP.NET调用javascript脚本的常见方法小结

    1、直接在前台调用 javascript 函数 很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 ” text/javascript ” 如: 代码如下: <head runat=”server”> [removed] function ShowName(str) { alert&...

    java开源包1

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

Global site tag (gtag.js) - Google Analytics