java.util.Dateシリアライゼーションとさまざまなクライアント/サーバー ロケールの問題についてしばらく探していました。
この件について知らされていない方のために、以下に簡単な説明を示します。
RPC での GWT 日付シリアル化は、使用しているロケールの関数で行われます。したがって、クライアントとサーバーのロケールが異なる場合、ユーザーが 1 つの日付を入力すると、サーバーはそのロケールに応じて別の日付をデータベースに格納することになります。
これは予期される動作であり、多くの場合、正しい動作のようです。
たとえば、NY のブラウザーから特定の日付/時間に会議をスケジュールする場合、SF で会議の時間をチェックしている人が対応するロケール値を確認するのは正しいことです。
では、生年月日はどうでしょうか。この場合、あなたが 12 月 5 日に生まれた場合、中国の誰かがあなたが 12 月 6 日に生まれたと読んだのは正確ではないようです。
解決策の 1 つは日付の代わりに文字列を使用できるという人もいますが、私はそうは思いません。
したがって、これを解決する最善の方法はカスタム シリアライゼーションだと思いますが、残念ながら GWT は独自のDate_CustomFieldSerializerを提供しています。
そして、私が読んだ限りでは、これに対する唯一の解決策は、このファイルの独自のバージョンを作成し、GWT ソースを再コンパイルすることです。私はそれをしたくないので、誰かがより良い解決策を知っているかどうか、または GWT の人が将来のリリースのためにプラグインのシリアライゼーション インフラストラクチャを計画しているかどうかを尋ねているのはそのためです。
前もって感謝します。ダニエル