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. JDBCとOracleでArrayListをシリアライズ
- 3. GWT +シリアライズ
- 4. GWTキャンバスをシリアライズ
- 5. GWT TreeMapのOrdering/Comparatorをシリアライズ
- 6. Json.netで列挙型のリストをシリアライズ
- 7. XMLにシリアライズしてシリアライズされたオブジェクトの型を含める
- 8. Web APIでの動的型のシリアライズ
- 9. GWT 2.4.0 RequestFactory多型
- 10. 同じ型名のポリモフィックリストをシリアライズ
- 11. Newtonsoft Json - DataTableのDateTime型をシリアライズ
- 12. JDBCドライバはGWTでは動作しませんか?
- 13. 未知の継承型のシリアライズとデシリアライズ
- 14. GWT、列挙型、ラジオボタンとエディタフレームワーク
- 15. org.hibernate.mappingexception:いいえJDBC型のダイアレクトマッピング:-4
- 16. org.hibernate.MappingException:いいえJDBC型のダイアレクトマッピング:1111
- 17. org.hibernate.MappingException:いいえJDBC型のダイアレクトマッピング:-9
- 18. MS ACCESS(.mdb)データベース用の4型JDBCドライバ?
- 19. C#シリアライズでデータ型datetimeをシリアル化せず、文字列のみ
- 20. 匿名型でシリアライズ(JavaScriptSerializer)が2倍かかる理由
- 21. XmlSerializerで型が正しくシリアライズされない理由
- 22. GWT宣言型のレイアウト親porperties
- 23. 強く型付けされたオブジェクトのリストをシリアライズ
- 24. phpオブジェクトのシリアライズ/シリアライズ
- 25. GWT-は、私は典型的なGWTアプリケーションを持っているテーマのCSS
- 26. GWT-RPCでネストされた列挙型を使用する
- 27. GWTのAutoBeanで不明な型のJSONオブジェクトを解析する
- 28. 列挙型をGWTにシリアル化できません
- 29. groovyでクロージャをシリアライズ
- 30. Qtでカスタムクラスをシリアライズ
これらはすべて実際にGWTシリアライザブルですか?これらのクラスはあなたによって作成されていますか? – Strelok
私が作成したクラスはシリアライズ可能です。また、JDBC型(データベース型を表すjava型)もシリアライズ可能です(http://db.apache.org/ojb/docu/guides/jdbc-types.htmlを参照)。 BlobとClob、しかし私はそれらと一緒には動作しません – maks