【问题标题】:How can I use java.util.Currency in GWT?如何在 GWT 中使用 java.util.Currency?
【发布时间】:2010-12-29 20:53:34
【问题描述】:

我正在开发一个 GWT 应用程序,我们引入了一个包含 java.util.Currency 的 Money 类。唯一的问题是 GWT 似乎不支持这个类。

我进行了谷歌搜索,在 GWT 源代码中找到了this code,但我不太确定“jat numberformat-r2942”库是什么,或者如何将它继承到我的项目中。有没有人成功地使用过这个 GWT 库?如果不是,在 GWT 应用程序中处理货币的最佳方法是什么?

我是否应该在客户端将货币捕获为字符串,然后在服务器端创建货币对象?我们正在尝试使用GWT-dispatch library,所以我想在客户端和服务器端使用相同的bean。

【问题讨论】:

    标签: java gwt currency


    【解决方案1】:

    您可以使用<super-source> 将所有不可翻译的类替换为您的版本。

    查看http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html,查找“Overriding one package implementation with another”。

    OTOH,如果你只需要通过 GWT-RPC 传输这个对象,那么使用新的RequestFactory 完全解决了这个问题 - 服务器和客户端没有公共类,而是使用代理。

    【讨论】:

    • 我知道我可以重写不可翻译的类,但是我如何继承那个特定的库,这样我就不必自己重写代码了?它似乎不是标准模拟类集的一部分。我没有看到对“JAT”jar 的任何引用。
    【解决方案2】:

    jat/numberformat-r2942 不是可以通过 JAR 文件包含的单独库。看起来 GWT 源代码库中的 changes 目录可能是存放个人用户分支的地方,其中包含将来可能添加到主线 GWT 源代码的内容。

    如果您想使用 Currency 的实现(可能有问题和/或不完整),最好的办法是将其复制到源代码树(更改所有必要类的包)并使用 <super-source> 作为彼得建议。

    【讨论】:

    • 好的,我明白了,谢谢。我试过了,它成功了,虽然我的 IDE 对在 com/xxx/jre/java/util 路径中有一个包 java.util 的类不满意。我继续创建了自己的 Currency 值对象和一个客户端和服务器工厂,我可以使用 ISO 4217 代码查找货币。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2010-11-09
    相关资源
    最近更新 更多