2012-04-01 3 views
1

RPC와 함께 클라이언트와 서버간에 전송하려는 여러 GWT Maps API JavaScriptObject (LatLng, Polyline)가 있지만 직렬화 할 수 없기 때문에 사용할 수 없습니다. 현재 RPC 통신을위한 Pojos가 있으며 클라이언트 측 JavaScriptObject 쌍둥이로 미러링됩니다 ...RPC를 통해 GWT JavaScriptObject를 보내려면 어떻게해야합니까?

이러한 개체를 보낼 방법이 있습니까? 나는 내가 어떻게해야하는지에 관해 뭔가를 놓치고 있다고 느낀다.

답변

1

JavaScriptObject은 실제 Java 객체가 아니므로 dev 모드에서 작동하고 JavaScript로 컴파일 될 때 브라우저에 연결되지 않고 표준 JVM에서는 작동하지 않습니다. 따라서 RPC를 통해 JSO를 서버로 보낼 수는 없습니다. JSO에는 native 메쏘드가있을 것이기 때문에 표준 JVM은 클래스를로드 할 수 없으며, JVM은 그 메소드의 적절한 구현을 가지지 않을 것이다.

JSO를 제어 할 수 있다면 JSO와 POJO가 공통 인터페이스를 구현할 수 있습니다. Maps API의 경우 객체를 JSON 문자열로 직렬화하여 서버에 보낼 수 있다고 생각하면 아마 제어 할 수 없습니다. 그런 다음 서버가 데이터를 읽어야하는 경우 Gson, Jackson, json.org 등을 사용하여 해당 JSON 문자열의 데이터를 읽을 수 있습니다.

+0

나는 본다. JVM이로드 할 수있는 Java 클래스가 아니라는 것을 알았지 만이 문제를 우아하게 해결하는 방법을 알지 못했습니다. 어쩌면 JSON에서 이야기하는 것이 가장 좋은 방법 일 것입니다. 감사! – Croo

관련 문제