必須jre6才行,要不需要用開源庫了
package script;
import javax.script.*;
/**
* Java調用JavaScript示例
*
* @author Birdshover
*
*/
public final class scriptMaster {
/**
* 運行指定腳本
* @return 返回腳本值
*/
public int run() {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine engine = m.getEngineByExtension("js");
try{
engine.eval("var t=1;t++;");
engine.eval("t++;");
}catch(ScriptException ex){
return -1;
}
Float val = Float.parseFloat(engine.get("t").toString());
return val.intValue();
}
}
java調用javascript,而javascript內部又調用了java的類庫。
public String now(){
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine engine = m.getEngineByExtension("js");
try{
engine.eval("var t= new java.util.Date();");
}catch(ScriptException ex){
return (new Date()).toString();
}
return engine.get("t").toString();
}