如何通过 RPC 发送 GET JavaScript 对象?
Posted
技术标签:
【中文标题】如何通过 RPC 发送 GET JavaScript 对象?【英文标题】:How do I send GWT JavaScriptObjects through RPC? 【发布时间】:2012-04-01 15:46:28 【问题描述】:我有几个 GWT Maps API javascriptObjects(LatLng、Polyline),我想通过 RPC 在客户端和服务器之间发送它们,但因为它们不可序列化,所以我不能使用它们。目前我有 Pojos 用于 RPC 通信,我将它们镜像到客户端的 JavaScriptObject 双胞胎中......
有没有办法发送这些对象?我觉得我错过了一些关于我应该如何做的事情。
【问题讨论】:
【参考方案1】:JavaScriptObject
s 不是真正的 Java 对象,因此当它们在开发模式下工作并编译为 JavaScript 时,它们不能在标准 JVM 中工作,而不是连接到浏览器。所以不,您不能通过 RPC 将 JSO 发送到服务器。标准 JVM 甚至无法加载该类,因为 JSO 将具有 native
方法,而 JVM 将无法正确实现这些方法。
如果你可以控制 JSO,你可以让它和你的 POJO 都实现一个通用的接口。对于 Maps API,您可能无法控制它 - 可能会将对象序列化为 JSON 字符串并将其发送到服务器。如果服务器随后需要读取数据,您可以使用 Gson、Jackson、json.org 等来读取这些 JSON 字符串中的数据。
【讨论】:
我明白了。我知道它们不是 JVM 可以加载的 java 类,但我不知道如何优雅地解决这个问题。也许用 JSON 说话是最好的方法。谢谢!以上是关于如何通过 RPC 发送 GET JavaScript 对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过远程方法发送 json-rpc http post 请求并在 java 中传递加密参数
JavaScrip ajaxt和python flask通过json传递数据的方法
LimeSurvey:无论如何要使用 get_session_key , JSON-RPC 和 Authwebserver?