java 澳洲幸運5網站製做腳本引擎Rhino執行js代碼和文件

測試js腳本引擎

public class helloworld {
澳洲幸運5網站製做q<115.28.8.00.9.9>
public static void main(String[] args) throws Exception  {
    //得到腳本引擎對象
    ScriptEngineManager sem=new ScriptEngineManager();
    ScriptEngine engine=sem.getEngineByName("javascript");

    //定義變量,會存儲到引擎上下文種,java和js都能取到
    engine.put("msg","good man");
    String  str="var user= {name:'我',age:18,schools:['高中','大學']};";
    str+="print(user.name);";

    //執行腳本
    engine.eval(str);
    //js代碼修改
    engine.eval("msg = 'i am a good man';");
    //java獲取值
    System.out.println(engine.get("msg"));

    //定義js函數
    engine.eval("function add(a,b){var sum=a+b;return sum;}");
    //執行js函數
    //取得調用接口
    Invocable jsInvoke =(Invocable)engine; //Invocable是ScriptEngine的一個接口,調用函數須要強轉
    //執行js函數
    Object result1=jsInvoke.invokeFunction("add", new Object[]{113,20});
    System.out.println(result1);

    //導入其餘java包,使用其餘包種的java類
    String jsCode=" var list=java.util.Arrays.asList([\"小學\",\"大學\"]);";
    engine.eval(jsCode);

    List<String> list2=(List<String>)engine.get("list");

    for(String temp:list2)
    {
        System.out.println(temp);
    }

    //執行一個js文件(置於src下便可)
    URL url=helloworld.class.getClassLoader().getResource("nn.js"); //類加載器,返回url
    FileReader fr=new FileReader(url.getPath());
    engine.eval(fr);
    fr.close();    
}
}


javascript

相關文章
相關標籤/搜索