我一直在搜索java.util.Date序列化和不同的客户端/服务器语言环境问题。
对于那些不了解此事的人,这里有一个简短的解释:
RPC 中的 GWT 日期序列化是根据您拥有的语言环境完成的。因此,如果客户端和服务器具有不同的语言环境,则用户可以输入一个日期,服务器最终将根据其语言环境将其他日期存储在数据库中。
这是一种预期的行为,在许多情况下似乎是正确的行为。
例如,如果您从纽约的浏览器中安排某个日期/小时的会议,那么在 SF 检查会议时间的人看到相应的区域设置值是正确的。
现在出生日期呢?在这种情况下,如果您出生于 12 月 5 日,那么中国的某个人读到您出生于 12 月 6 日似乎并不准确。
有些人说一种解决方案可能是使用字符串而不是日期,但我不这么认为,主要是因为例如你不能添加或减去字符串。
所以我认为解决这个问题的最好方法是自定义序列化,但不幸的是 GWT 提供了自己的Date_CustomFieldSerializer。
对于我所阅读的内容,唯一的解决方案是制作您自己的文件版本并重新编译 GWT 源代码。我不想这样做,所以这就是为什么我要问是否有人知道任何更好的解决方案,或者 GWT 人员是否正在计划例如一些插件序列化基础设施用于未来的版本。
提前致谢。丹尼尔