GWT-多个模块?
我正在努力使GWT应用程序的结构正确。(我是唯一一个发现GWT代码很容易变得非常混乱和不可读的人吗?) 该应用程序被认为是一个接口,可以连接到几个 不同的区域-让我们说区域A和B。目前我正在尝试 将其实现为一个带有两个选项卡的界面—一个选项卡将您带到区域A 还有一个带你去B区。我不知道我怎么能有一个好天气 以这种方式分离两个不同区域所需的代码 尽管如此——应用MVP模式(我实际上没有发现在像我的选项卡这样的分层界面的情况下该如何做),我最终得到了区域a和区域B 为client.view和client.presenter编写代码 包装: src -主要 -爪哇 -客户 +事件 -演讲者 +a_的东西 +b_材料 -看法 +a_的东西 +b_材料 : 我还没有找到任何好的例子来说明如何以及何时使用多个 模块,我想知道我的情况是否可能是多个 模块有意义吗?在这种情况下,代码将如何构造 也许有必要提及我正在使用最新的GWT、Maven和IntelliJ理念 我们将不胜感激,GWT-多个模块?,gwt,Gwt,我正在努力使GWT应用程序的结构正确。(我是唯一一个发现GWT代码很容易变得非常混乱和不可读的人吗?) 该应用程序被认为是一个接口,可以连接到几个 不同的区域-让我们说区域A和B。目前我正在尝试 将其实现为一个带有两个选项卡的界面—一个选项卡将您带到区域A 还有一个带你去B区。我不知道我怎么能有一个好天气 以这种方式分离两个不同区域所需的代码 尽管如此——应用MVP模式(我实际上没有发现在像我的选项卡这样的分层界面的情况下该如何做),我最终得到了区域a和区域B 为client.view和clie
非常感谢斯汀:)我建议如下:
src
- main
- java
+ a_stuff
-client
- presenter
- view
- event
+ b_stuff
-client
- presenter
- view
- event
<source path="a_stuff"/>
<source path="b_stuff"/>
看看mvp4g
考虑在yourmodule.gwt.xml文件中声明多个源元素。如果未声明任何源元素,则默认情况下gwt采用“客户机”声明。见下文:
<!--Default if not declared-->
<source path="client"/>
您可以像这样声明多个源位置:
src
- main
- java
+ a_stuff
-client
- presenter
- view
- event
+ b_stuff
-client
- presenter
- view
- event
<source path="a_stuff"/>
<source path="b_stuff"/>
现在,将编译每个源下面的所有内容。“客户端”只是默认设置,而不是规则。下面是一个更全面的示例,它帮助我实现了两个模块: 它使用以下结构:
src
- main
- java
a_stuff.gwt.xml
b_stuff.gwt.xml
- client
- shared_stuff
- a_stuff
- presenter
- view
- b_stuff
- presenter
- view
如果您想要两个HTML页面——每个模块一个页面(就像我做的那样),那么您需要创建两个页面:
war
page_a.html
page_b.html
并在两个.gwt.xml文件中定义入口点,例如(对于a_stuff.gwt.xml):
另外,如果您使用的是Eclipse,那么当您单击“GWT编译项目”时,它会要求您“添加入口点类”,因此您必须单击GWT编译窗口“入口点模块”部分中的“添加”按钮,并添加两个入口点模块(a_stuff.GWT.xml
和b_stuff.GWT.xml
)。您可以根据需要在此处添加/删除入口点模块,以选择要编译的模块
以上这些对我很有用。我用它制作了两个不同版本的网站,每个版本都在一个单独的模块中。如果我在这里有点慢,请原谅!但是这会导致两个模块吗?不,因此您需要两个模块文件:-请参阅“将代码划分为多个模块”部分是的,我知道每个模块都有一个gwt.xml:)我的意思是(我猜)如果代码可以放入上述结构中,并且仍然是同一模块的一部分。如果它包含两个模块,我可能会在理解webapps文件夹中的所有html、css和图像时遇到一些问题。天哪,我很想看到一个完整的例子!>好吧,我想我应该先看看你建议的那一节——不知为什么我错过了那一节!;)谢谢,谢谢。。我将看一看:)嗨,但是WAR/WEB-INF/WEB.xml文件是什么?他们的页面是“…为什么我要选择默认页面?这个web.xml是否需要从管理员和用户应用程序获取servlet?
<script type="text/javascript" language="javascript"
src="module_a/module_a.nocache.js"></script>