GWT 中的多个入口点

Posted

技术标签:

【中文标题】GWT 中的多个入口点【英文标题】:Multiple Entry Points in GWT 【发布时间】:2011-03-18 14:03:50 【问题描述】:

我正在使用 Google Web Toolkit,对 GWT 中的入口点有点困惑。谷歌的文档说:

如果您在一个模块中有多个 EntryPoints(定义 onModuleLoad() 的接口),则一旦该模块(和外部文档)准备好,它们就会按顺序调用。 如果您在同一页面中加载多个 GWT 模块,则每个模块的 EntryPoint 将在该模块和外部文档都准备好后立即被调用。两个模块的 EntryPoints 不能保证同时触发,或者按照在主机页面中指定它们的选择脚本的相同顺序触发。

那么您网站中的每个页面都需要为其定义一个入口点吗?

当您基于您的 Java 类生成 javascript 时,您真的只需要一个入口点吗?

您能否将多个自动生成的 js 定义合并到一个 *.gwt.xml 文件中?

编辑:链接到引用的来源:http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html

谢谢!

【问题讨论】:

【参考方案1】:

有一个选项,你可以创建带有子项目的maven项目,意味着你可以创建多个入口点, 每个入口点都有自己的 html。 See more details

【讨论】:

能否包含链接指向的页面的一些内容?这将为您的答案添加一些上下文,如果链接将来可能会消失,这仍然是有意义的。【参考方案2】:

制作 GWT 应用程序最直接的方法是为整个应用程序提供一个页面,以及一个***的module(在.gwt.xml file 中定义)。每个模块都有一个EntryPoint 类。然后所有不同的“页面”都是同一页面的子部分,理想情况下使用 GWT 的历史机制来跟踪非 AJAX Web 应用程序中的状态更改将是新页面。因此,如果您以这种方式进行设置,您的整个应用程序都需要一个入口点。

您引用的部分文档(链接?)讨论了我认为的高级用例,其中您在单个页面上加载了多个模块。

【讨论】:

有趣的是,我可以看到这将如何工作,您的导航菜单决定了在主内容面板中显示的内容(在“标准”页面布局中),但是如果某些页面破坏了这种布局(即登录页面)是否需要为此类页面设置单独的入口点? 好的,所以在考虑了我的登录页面问题之后,以下设置是否有意义: - 登录页面 - 用户输入他们的 OpenID 标准,按下表单提交,这会回调身份验证小服务程序。成功验证后,它将用户引导至应用程序的入口点(我们会说它是某种仪表板);如果身份验证失败,则 servlet 会向登录页面返回一条消息以供显示。我认为这是有道理的,因为除非您确定用户可以进行身份​​验证,否则您不想加载应用程序的 js 文件。身份验证本身是一维的。 这将是一个很好的方法。另一种方法是让整个内容(包括登录页面)成为 GWT 应用程序的一部分,并使用代码拆分来确保只加载登录功能(请参阅code.google.com/webtoolkit/doc/latest/…)

以上是关于GWT 中的多个入口点的主要内容,如果未能解决你的问题,请参考以下文章

错误 [TRACE] [rpctest] - 查找入口点类:使用 GWT 使用 Hibernate 将数据插入 MySql

Gwt中的多个Html页面

Spring Security 可以支持多个入口点吗?

使用 create-react-app 的多个入口点

GWT:认证后如何下载EntryPoint?

C#提示不只定义了一个入口点,请使用/main进行编译以指定包含入口点的类型