我有一个项目,根据用户角色,他在登录后立即被重定向到完全不同的UI。我打算将项目结构分成几个这样的GWT模块:
1. Base module
2. Login module
3. Module for role1
4. Module for role2
...
我将拥有除Login module
之外的所有模块扩展Base module
我将存储我需要的常用UI组件。 (比如个人资料编辑和类似的东西)。 Login module
将像引导程序一样运行,它的任务就是在用户使用aunenticates之后立即加载正确的模块。
问题是GWT模块调用的所有服务器端服务对于所有模块几乎都是相同的。我有很多提供服务的查询信息,在许多其他情况下,一个用户只填写信息,另一个用户调节信息,所以它也是同一个服务。
据我所知,GWT使用urls模式调用服务器,如下所示:gwtModuleName/myServiceUrl
因此服务依赖于gwt模块。如何在多个GWT模块之间“共享”单个服务?
答案 0 :(得分:1)
非常简单,只需将所有客户端服务文件放在基本模块中:
com.proj.client.base com.proj.client.base.request ---我的服务 --- MyServiceAsync com.proj.client.modA com.proj.client.modB
com.proj.server.request - MyServiceImpl
我对10个以上模块的单个应用程序使用类似的结构,所有模块都共享相同的服务。
只需从不同模块中导入服务