java - 管理 1 个项目中的多个 Google Web Toolkit 页面

标签 java gwt

我有一个项目,主要由 Java Servlet、JSP/Html 页面和一些常规 javascript 组成。然而,有些屏幕太复杂,无法仅用 javascript 来完成,因此我想使用 GWT。

这样可以吗,所以有多个EntryPoint同一项目中的类(class)?然后,根据正在加载的页面,我将加载适当的 javascript 文件?

我在想也许,RootPanel.get()函数将用于检查是否确定 <div>s具有给定 ID 的存在。例如,如果注册 div 存在,则加载注册 GWT 控件,如果“搜索”div 存在,则加载搜索,但这将使 javascript 文件变得非常大。我宁愿每个组件都在自己的 javascript 文件中。

这可能吗?

最佳答案

我认为最好将页面分成 GWT 模块。如果您将使用 RootPanel.get() 来检查特定槽(DIV 或其他元素)是否存在,您的模块将保存所有 UI,因此客户端将加载整个模块,仅访问一个页面 - 这很可能是不必要的开销。 您可以将通用代码放置在所有页面模块都将从继承的某个模块中。

RootPanel.get() 更适合您拥有一组小部件(UI 中的逻辑面板,例如菜单、主要内容等),并且您可以将它们放置在页面上适当的插槽中。

您的应用程序中的示例结构如下所示(请参阅评论中的问题):

- gwtui
-- common (module1)
--- client
---- widgets (eg. common widgets)
---- ...
---- ApplicationService.java
---- ApplicationServiceAsync.java
--- public
---- images (common images etc.)
---- css (common style)
---- ...
--- server
---- ...
---- ApplicationServiceImpl.java
--- GwtCommon.gwt.xml
-- expenses (module2)
--- client
---- ExpensesEntrypoint.java
--- public
--- server
--- GwtExpenses.gwt.xml (inherits GwtCommon, entry point ExpensesEntrypoint)
-- reports (module2)
--- client
---- ReportsEntrypoint.java
--- public
--- server
--- GwtReports.gwt.xml (inherits GwtCommon, entry point ReportsEntrypoint)

请注意,您可以在所有模块中使用一项服务,以及在公共(public)模块中您可能不必创建入口点(但我不是 100% 确定,在一些旧项目中我必须创建空入口点,但不记得确切原因 - 抱歉)

这对我们有用。

我当然想听听不同的意见。

关于java - 管理 1 个项目中的多个 Google Web Toolkit 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713555/

相关文章:

java - Java 中的优先级

GWT,删除历史标记

css - 如何设置 GWT CaptionPanel 的样式?

java - GWT 2.5.1 和 Kindle paperwhite 用户代理

javascript - GWT : logic of my application embeded in the ui interface?

Java序列化效率

java - 缩短将一个 json 对象映射到另一个 json 对象的处理时间

gwt - 如何在 GWT 中打印到控制台

java - 球不动;线?

Java-使用xpath-position设置xml元素