【问题标题】:Facing a problem with GWT Data Serialization面临 GWT 数据序列化的问题
【发布时间】:2011-01-19 06:37:28
【问题描述】:

这类似于问题:GWT Data Serialization

我正在使用日期对象@我的客户,

这是我尝试过的, 我创建了一个日期对象,在标签中显示了它的 toString() 并通过 Rpc 将其传递给服务器,其返回值与日期的 toString()

相同

传递的值:

Date value = new Date(2011, 0, 19);

输出@托管/开发模式:(http://127.0.0.1:8888/MyApplication.html?gwt.codesvr=127.0.0.1:9997)

客户端读取:Thu Jan 19 00:00:00 IST 3911 服务器读取:Thu Jan 19 00:00:00 IST 3911

输出@生产模式(GWT编译后):(http://127.0.0.1:8888/MyApplication.html

客户端读取:1 月 19 日星期四 00:00:00 GMT+530 3911 服务器读取:1 月 19 日星期四 00:00:00 IST 3911

Output @ Deploying in Jboss 运行在 same 机器上:

客户端读取:1 月 19 日星期四 00:00:00 GMT+530 3911 服务器读取:1 月 18 日星期三 18:30:00 GMT 3911

令人难以置信的是,它是同一台机器,因此语言环境等理想情况下应该是相同的,仍然@托管模式我看到客户端发送 IST 服务器接收 IST,@production 我看到客户端发送 GMT 服务器接收 IST 和 @Jboss服务器部署我看到客户端发送格林尼治标准时间和服务器接收格林尼治标准时间少一天!!

服务器接收不到一天的事实非常严重地影响了我的应用程序业务逻辑,基本上我使用的是 iBatis,它从数据库中填充我的 pojo 并将其发送到客户端,而在客户端我使用的是 GXT,它向我展示了一个 UI用于日期选择。

使用字符串作为日期不适合我,因为它在应用程序核心 pojo、所有数据库选择和插入查询方面发生了重大变化,只是因为我的客户端库不能很好地处理日期。

有没有人可以替代这个?

【问题讨论】:

标签: serialization gwt date gwt-rpc


【解决方案1】:

您可以尝试使用DateTimeFormat 来构建在机器之间明确的东西,尽管有语言环境。格式类似于 'yyyy-MM-dd HH:mm:ss ZZZZ' 而不是使用 toString()

Date today = new Date();
DateTimeFormat fmt = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss ZZZZ");
GWT.log(fmt.format(today));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多