是否可以在GWT客户端代码和服务器代码之间“共享”Java类?
我有一个简单的类,只包含一些Strings
和一些List<String>
。我希望能够在客户端代码和服务器端代码中使用此类只是为了一致性。
为了给出一些背景知识,我试图分享的类只是一个包含一些额外信息的错误消息的容器。在我的应用程序中有一些阻止保存的错误,因此我们在客户端进行这些检查(保存之前)。然后在保存之后,我们对服务器端保存的对象进行更多“验证”检查。
据我所知,它必须被“编译”两次,一次用于GWT编译,一次用于正常的javac编译,但看起来应该是可能的。
有没有办法设置我的GWT项目来做到这一点?
答案 0 :(得分:19)
使用GWT的原因之一是为客户端和服务器提供单域模型。
在服务器代码和客户端之间共享类是一种常见做法。
通常使用GWT客户端源代码的项目最多可拆分三个包
com.yourpackage
-shared
-client
-server
其中shared
包将编译java字节代码和javascript,client
编译为javascript,服务器端逻辑放在server
包中。
客户端的编译路径可以在*.gwt.xml
文件中配置。