GWT
には、不明な型(JDBC
型のみ)のオブジェクトをシリアル化する必要があります。私は、オブジェクトがuknown "jdbc"オブジェクトのリストを保持しているので、クライアントからサーバーへ、およびバックから転送する必要があります。このオブジェクトがgwtクライアント環境ではないファイルにシリアライズしている場合、私はObject
のリストにそれらの未知のオブジェクトを保持できます。しかし、GWTはタイプObject
のオブジェクトをシリアル化できません。どうすればこれを達成できますか?任意の提案GWTでJDBC型をシリアライズ
答えて
GWT JRE Emulation Referenceを参照してください。Object
クラスがなく、GWTでシリアル化できないため、IsSerializableマーカーインターフェイスを実装する独自の転送オブジェクトを作成する必要があります。 簡単に言うと、RPCはjava.lang.Object
をシリアル化できません。このリンクをチェックしてください:ここ GWT Sending type OBJECT Via RPCと良いスレッド:これらのJDBCタイプがあなたの他のRPCのいずれかの方法で返されていない場合は、問題に実行されて Serialize objectとWhy is GWT serialization so complicated?
私は、オブジェクトクラスがGWTによって直列化されていないことを知っています。それは私の質問の目的は、オブジェクトとして共通のスーパータイプを持っている私は知っているオブジェクトをシリアル化することができます – maks
いいえGWT-RPCはjava.lang.Objectをシリアル化することはできません、そのリストのほかにもマップはシリアル化することができません –
。
たとえば、あなたのクラスFooがList [Object]を返すメソッド以外の方法でRPC経由で送信されない場合、GWTはコンパイル時に(RPCホワイトリストを生成するとき)知識がなく、Fooは直列化するコードを生成するクラス。これは特に、未使用の型からのコードの肥大を避けることが重要な、生成されたJavaScriptにとっては意味があります。
RPCを介して送信されるダミークラスに、参照されていない他のクラス(JDBCからのすべての可能な戻り値の型)を手動で追加することで回避できます。 How do I add a type to GWT's Serialization Policy whitelist?
また、必要なDummyクラスを持たないタイプを追加するカスタムRemoteServiceジェネレータを作成することもできます。あなたは、彼らがすべてのシリアライズ可能であることを保証する場合 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html#generator
ダミークラスです。リスト
あなたは
List<Serializable> serviceMethod();
としてそれらを返すことができます。サービスメソッドから戻る前に、それらのすべてをSerializableにキャストしてください。
- 1. GWTでオブジェクトをシリアライズ
- 2. GWT +シリアライズ
- 3. GWTキャンバスをシリアライズ
- 4. JDBCとOracleでArrayListをシリアライズ
- 5. GWT TreeMapのOrdering/Comparatorをシリアライズ
- 6. カスタムデータ型のシリアライズVB.net
- 7. Json.NETでFormatterAssemblyStyle.SimpleでType型のフィールドをシリアライズ
- 8. Json.netで列挙型のリストをシリアライズ
- 9. YAML - 型である属性をシリアライズ
- 10. GWT 2.4.0 RequestFactory多型
- 11. C#WCFオブジェクト[]メンバ型のシリアライズ
- 12. シリアライズ型と値の組C#
- 13. XMLにシリアライズしてシリアライズされたオブジェクトの型を含める
- 14. Web APIでの動的型のシリアライズ
- 15. JDBC結果セット型スクロールセンシティブ
- 16. Newtonsoft Json - DataTableのDateTime型をシリアライズ
- 17. json4sジェネリック型をシリアライズしてデシリアライズ
- 18. 同じ型名のポリモフィックリストをシリアライズ
- 19. JDBCドライバはGWTでは動作しませんか?
- 20. GWT、列挙型、ラジオボタンとエディタフレームワーク
- 21. AppDomainの基底型として派生型をシリアライズ
- 22. データフレームをjdbcデータ型に変換する
- 23. 未知の継承型のシリアライズとデシリアライズ
- 24. ジャクソンの多型シリアライズ/デシリアライゼーションのカスタムシリアライザ/デシリアライザ
- 25. C#でIEnumerableを実装しているカスタムジェネリック型をシリアライズ
- 26. C#シリアライズでデータ型datetimeをシリアル化せず、文字列のみ
- 27. org.hibernate.MappingException:いいえJDBC型のダイアレクトマッピング:-9
- 28. MS ACCESS(.mdb)データベース用の4型JDBCドライバ?
- 29. org.hibernate.MappingException:いいえJDBC型のダイアレクトマッピング:1111
- 30. org.hibernate.mappingexception:いいえJDBC型のダイアレクトマッピング:-4
これらはすべて実際にGWTシリアライザブルですか?これらのクラスはあなたによって作成されていますか? – Strelok
私が作成したクラスはシリアライズ可能です。また、JDBC型(データベース型を表すjava型)もシリアライズ可能です(http://db.apache.org/ojb/docu/guides/jdbc-types.htmlを参照)。 BlobとClob、しかし私はそれらと一緒には動作しません – maks