0
我正在研究一個Java程序,其中一個對象需要具有用戶自定義一個函數的行爲。我正在使用Mozilla Rhino,JavaScript和Java來實現這一點。如何使用Rhino將對象從Java傳遞到JavaScript
我不知道如何把已經實例化的對象,並將其傳遞給預先寫好的腳本。
我已經瀏覽了很多關於Rhino的教程,並沒有給出這樣的例子。任何建議或鏈接將不勝感激。
謝謝你的時間。
我正在研究一個Java程序,其中一個對象需要具有用戶自定義一個函數的行爲。我正在使用Mozilla Rhino,JavaScript和Java來實現這一點。如何使用Rhino將對象從Java傳遞到JavaScript
我不知道如何把已經實例化的對象,並將其傳遞給預先寫好的腳本。
我已經瀏覽了很多關於Rhino的教程,並沒有給出這樣的例子。任何建議或鏈接將不勝感激。
謝謝你的時間。
This answer到另一個問題通過一個對象,data
,從Java到Rhino的Javascript。
我不知道它是否有效(嗯,我想它的確如此)。以下是相關部分:
public static class data {
Double value = 1.0d;
}
ScriptEngine engine = new ScriptEngineManager().getEngineByName ("rhino");
data data = new data();
Context.enter().getWrapFactory().setJavaPrimitiveWrap(false);
engine.eval("function test(data) { return data.get('value1') + 5;};");
System.out.println("Result:" + ((Invocable)engine).invokeFunction("test", data));
(我不知道這setJavaPrimitiveWrap()
,here is some WrapFactory Javadoc。)