亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從java發送和接收jxbrowser中的序列化對象

如何從java發送和接收jxbrowser中的序列化對象

慕婉清6462132 2021-09-29 17:31:34
我必須從發送序列化對象java來javascript與jxbrowser我做這樣的String json = objectMapper.writeValueAsString(value);JSValue window = browser.executeJavaScriptAndReturnValue("window");window.asObject().setProperty(requestName, json);據我所知,它會將全局窗口中的對象設置為requestName? 是真的?以另一種方式,我如何從 Java 站點讀取此對象。這段代碼好嗎?JSValue window = browser.executeJavaScriptAndReturnValue("window."+requestName);T t = objectMapper.readValue(window.toString(), clazz))提前致謝
查看完整描述

2 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

您好,這里有兩個方面。


Javascript 執行上下文


JSValue可以是普通值或 JavaScript 對象。


調用 executeJavaScriptAndReturnValue 后,您的執行上下文就完成了。您可以評估返回的對象。這個返回的對象可以是一個帶有函數的 Java 腳本對象,在這種情況下您可以訪問它。


假設您的 JavaScriptObject 有一個接受字符串的方法 helloWorld 。


JSValue document = browser.executeJavaScriptAndReturnValue("myJavascriptObject");

JSValue write = document.asObject().getProperty("helloWorldMethod");

write.asFunction().invoke(document.asObject(), "To Me");

這樣我們就將“To Me”字符串傳遞給了 helloWorldMethod。


您還可以在對象上設置屬性并稍后調用另一個方法。如果此方法使用此屬性,則在下一次執行中將考慮它:


JSValue document = browser.executeJavaScriptAndReturnValue("myJavascriptObject");

JSValue write = document.asObject().getProperty("helloWorldMethod");

document.asObject().setProperty("shouldISayGoodByeInstead",true)

write.asFunction().invoke(document.asObject(), "To Me");

屬性 shouldISayGoodByeInstead 將作為調用 helloWorldMethod 時發生的第二次執行的一部分進行評估,而不是在第一次執行 executeJavaScriptAndReturnValue 期間。


查看完整回答
反對 回復 2021-09-29
  • 2 回答
  • 0 關注
  • 330 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號