GWT在几个模块之间共享服务

时间:2011-09-16 07:52:29

标签: gwt gwt-mvp

我有一个项目,根据用户角色,他在登录后立即被重定向到完全不同的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模块之间“共享”单个服务?

1 个答案:

答案 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个以上模块的单个应用程序使用类似的结构,所有模块都共享相同的服务。

只需从不同模块中导入服务