是否可以使用GWT创建多模块应用程序

时间:2012-05-13 05:44:45

标签: gwt gwt-mvp

是否可以使用GWT创建多模块应用程序? 我的意思是,创建2个模块,一个用于前端网站,一个用于管理前端网站的管理员管理。 希望你理解我的方法:)

2 个答案:

答案 0 :(得分:2)

这是可能的,但它不是那么不言而喻,因为你必须在几个地方修改默认项目布局(rename-to属性,入口点classname,script-src,编译器参数)。所以我相信,这是一个有效的问题。

我假设你想这样做,因为你想在两个网页之间共享代码。有一些替代方法可以做到这一点,最简单的可能就是:

单个项目,两个URL

您需要两个模块xml文件和两个html文件。

FrontEnd.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='frontend'>
  <inherits .../>
  <entry-point class='org.example.FrontEndEntry'/>
  ...
</module>

Admin.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='admin'>
  <inherits .../>
  <entry-point class='org.example.AdminEntry'/>
  ...
</module>

FrontEnd.html

<!doctype html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    ...
    <script type="text/javascript" language="javascript"
       src="frontend/frontend.nocache.js"></script>
  </head>
  ...
</html>

Admin.html

<!doctype html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    ...
    <script type="text/javascript" language="javascript"
       src="admin/admin.nocache.js"></script>
  </head>
  ...
</html>

然后,在编译GWT应用程序时,只需在命令行末尾添加两个模块(或者在像Eclipse这样的IDE中,在编译时选择两个模块)。启动配置也是如此。

答案 1 :(得分:0)

模块作为名为sample / sample.nocache.js的javascript文件加载。您可以让servlet根据url或者用户登录时使用不同的js文件(模块)提供不同的html文件。您需要单独编译每个模块。

Google资源: Dynamic Host PageOrganising Modules

您还可以在同一页面上包含多个模块,但请注意这一点,因为您不知道它们将加载的顺序。