首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Java施行javascript

2012-11-03 
Java执行javascriptpackage com.byd.mes.util.scriptimport java.util.HashMapimport java.util.Mapimp

Java执行javascript

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(){@Overridepublic 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;}}

?

热点排行