我正在使用此項目中的Rhino 的javax.scripting。犀牛Javascript:如何將對象轉換爲Javascript原始?
我有一個Java方法返回一個Java對象(雙精度,長整數,等等)。我想從javascript調用該方法,並且將 作爲Javascript原始類型引用。但是,javacript將識別爲對象。
我該如何強制它轉換爲JavaScript原始圖片?
但問題是怎麼做的,我得到的背景和 的WrapFactory的參考?
示例代碼:
public class data
{
Double value = 1.0d;
public Number get() { return value; }
}
public static void main(String[] args)
{
ScriptEngine engine = new ScriptEngineManager().getEngineByName ("rhino");
data data = new data();
try
{
engine.eval("function test(data) { return data.getD('value1') + 5;};");
System.out.println("Result:" + ((Invocable)engine).invokeFunction("test", data));
}
catch (Exception e)
{
e.printStackTrace();
}
}
輸出: 結果:15
這給了我一個NullPointerException。 上下文。getCurrentContext()爲空 – Tazzy531 2009-10-16 19:05:08
編輯提供正確的執行 – Kevin 2009-10-16 19:08:04
無效。仍然得到:結果:15 – Tazzy531 2009-10-16 19:12:46