22
假設我有一個JavaScript文件綁定方法調用中的Java腳本
function js_main(args){
/* some code */
var x = api_method1(some_argument);
/* some code */
}
我嘗試使用javax.scripting
通常的方式
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
engine.eval(...);
現在我想運行它使用Java類處理Javascript中對api_method1
的調用。我想有某種映射/即腳本調用api_method1(arg)
的方法
public Object api_method1(Object arg){ ... }
(放置在相同的類作爲發動機)將被稱爲每次呼叫的結合。
我可以做到這一點嗎?
那麼將數據封送到方法(除了基元之外)呢? – emesx
可以來回傳遞數據,而不是使用JSON的原始數據。您的Java代碼可以使用任何JSON庫序列化/反序列化JSON。 – sperumal
對此你幾乎是你自己的。你可以序列化爲JSON(從JavaScript簡單),然後在Java中反序列化(不太容易,但可行)。或者你可以公開各種實用程序來拼湊其他Java對象類型。 – Pointy