2012-05-13 6 views

答えて

3

私たちは、あなたが望む正確に何を私たちの現在のプロジェクトのための実装を書いている:

...文字列にカスタムオブジェクトをシリアル化してのlocalStorageに保存し、オブジェクトに文字列をデシリアライズしたがって、私にとってはpossibileです。シリアル化にSerializationStreamWriterを使用し、CLIENT SIDEで直列化を解除するにはSerializationStreamReaderを使用します。

が実現するために、この

あなたはSerializationStreamWriter/SerializationStreamReader用発電機を必要としませんが、com.google.gwt.user.client.rpc.implを実装TypeSerializer(用発電機。 SerializerBase)。これは簡単ですが、com.google.gwt.user.rebind.rpc.TypeSerializerCreatorを見て、ジェネレータで使用してください。または、すべてのカスタムオブジェクトが1つのRPCサービスで参照されている場合は、生成されたrpcサービスのTypeSerializerを使用できます。

そして、をSerializationStreamWriterまたはSerializationStreamReaderの適切な実装で記述する必要があります。

GWTには、 があります。クライアント側のシリアライゼーション/デシリアライゼーション用のClientSerializationStreamWriterです。 ServerSerializationStreamWriter、サーバー側のシリアル化/逆シリアル化用のServerSerializationStreamReader。

クライアント SerializationStream ライターFORMAT_1にオブジェクトをシリアル化します、とだけサーバー SerializationStream リーダーは、(オブジェクトにそれをデシリアライズ)それを読むことができます。

サーバー SerializationStream ライターFORMAT_2にオブジェクトをシリアル化します、とだけクライアント SerializationStream リーダーは、(オブジェクトにそれをデシリアライズ)それを読むことができます。

ClientSerializationStreamWriterを使用してオブジェクトをシリアル化し、クライアント側のServerSerializationStreamReaderの同様の実装を作成する場合は、何をする必要がありますか。または、ClientSerializationStreamWriterを使用して文字列を逆シリアル化する場合は、クライアントサイドにServerSerializationStreamWriterの同様の実装を記述します。 との差がFORMAT_1のFORMAT_2の間にあるため、これは難しいことではありません。

+0

私はあなたが[このプロジェクト](https://github.com/seanchenxi/gwt-storage)を作成したと想定していますか?ありがとう!!! – mxro

0

GWT-RPCのシリアライゼーションが非対称であるので、それはローカルストレージに使用することはできませんが:サーバーは、クライアントが送信したものを理解し、クライアントは、サーバが送信したものを理解し、彼らは何を理解することはありません彼ら自身が書きました。

関連する問題