是否可以使用GWT创建多模块应用程序? 我的意思是,创建2个模块,一个用于前端网站,一个用于管理前端网站的管理员管理。 希望你理解我的方法:)
答案 0 :(得分:2)
这是可能的,但它不是那么不言而喻,因为你必须在几个地方修改默认项目布局(rename-to属性,入口点classname,script-src,编译器参数)。所以我相信,这是一个有效的问题。
我假设你想这样做,因为你想在两个网页之间共享代码。有一些替代方法可以做到这一点,最简单的可能就是:
您需要两个模块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 Page,Organising Modules
您还可以在同一页面上包含多个模块,但请注意这一点,因为您不知道它们将加载的顺序。