【问题标题】:How can I share a class between GWT client code and server code?如何在 GWT 客户端代码和服务器代码之间共享一个类?
【发布时间】:2012-01-14 02:31:20
【问题描述】:

是否可以在 GWT 客户端代码和服务器代码之间“共享”一个 Java 类?

我有一个简单的类,它只包含几个Strings 和几个List<String>。我希望能够在客户端代码和服务器端代码中使用这个类,只是为了保持一致。

只是为了提供一些背景知识,我要分享的课程只是一个包含一些额外信息的错误消息的容器。在我的应用程序中,有一些错误会阻止保存,因此我们在客户端(保存之前)进行这些检查。然后保存后,我们在服务器端对保存的对象做更多的“验证”检查。

我知道它必须“编译”两次,一次用于 GWT 编译,一次用于普通 javac 编译,但似乎应该可以。

有没有办法设置我的 GWT 项目来做到这一点?

【问题讨论】:

    标签: java gwt


    【解决方案1】:

    使用 GWT 的原因之一是为客户端和服务器提供单一域模型。

    在服务器代码和客户端之间共享类是一种常见的做法。

    通常使用 GWT 客户端源代码的项目最多拆分三个包

    com.yourpackage
                   -shared
                   -client
                   -server
    

    其中shared包编译成java字节码和javascript,client编译成javascript,服务器端逻辑放在server包中。

    客户端的编译路径可以在*.gwt.xml文件中配置。

    【讨论】:

    • GWT 的标准是使用名称shared。话虽如此,很好的答案。 +1
    • 感谢 Mairbek,这对我有用。更具体地说,我们没有“共享”包,所以我必须创建一个新包。我还必须在我的 *.gwt.xml 文件中添加一行:<source path='shared'/>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多