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
分享到:
相关推荐
Java applet调用c++ SSO登录javascript脚本开发教程
为了在 JavaScript 中访问原生类型或者引用 Java 类型,可以调用 Java.type() 函数,该函数根据传入的完整类名返回对应对象的类型。下面代码显示如何获取不同的对象类型: var ArrayList = Java.type("java.util....
本章首先介绍如何把JavaScript解释器嵌入到一个Java6应用程序中,以及如何从该应用程序运行JavaScript脚本。然后,回过头来展示这些脚本如何直接脚本化Java对象。我们还将在第23章再次回到Java脚本化的话题,第23章...
博文链接:https://yanricheng.iteye.com/blog/129928
JSP脚本元素调用Java代码.ppt
主要介绍了Java中使用JavaScript脚本的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文介绍了Rhino脚本引擎,如何在Java中使用脚本引擎调用javascript,以及javascript和java间的交互,并给与示例代码。
Java直接运行JS代码样例 java中调用js脚本 java中直接调用js代码
一个后台使用javascript的工具类 大家可以看一看 让你的js不是那么难 直接粘贴到自己的项目中就可以使用 写的不好 大家勿喷
加入Javascript脚本的地方: HtmlElement jsElement = webBrowser1.Document.CreateElement(script); jsElement.SetAttribute(type, text/javascript); jsElement.SetAttribute(text, showMeAction = function(e) {...
主要介绍了kettle中使用js调用java类的方法,本文讲解了注意事项和调用语法,需要的朋友可以参考下
java调用javascript执行rsa加密,ScriptEngineManager操作javascript脚本文件
本文实例总结了.net与javascript脚本的交互方法,分享给大家供大家参考。具体方法如下: 1.asp.net呼叫js 代码如下:Response.Write(“[removed]”); Response.Write(“alert(‘登峰欢迎您 ‘);” ); ...
为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。 1、映射Java对象到...
Java执行和调用JavaScript脚本文件的示例,使用Java调用JavaScript文件并输入结果。
1、直接在前台调用 javascript 函数 很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 ” text/javascript ” 如: 代码如下: <head runat=”server”> [removed] function ShowName(str) { alert&...
google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...