gpt4 book ai didi

java - GWT 多个 html 页面和导航

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:39:16 24 4
gpt4 key购买 nike

您好,首先我想提一下,我知道基于 ajax 的应用程序和同一页面的重用。

这里的要求是,我想有两个单独的页面,一个用于登录,另一个用于主应用程序。现在,这不是因为我只是想要它,而是因为我在两个页面中有非常不同的布局,我很乐意将 html 元素和 css 直接放在页面中,然后将 div 包含动态 html 以供 gwt 填充.

即使在 myfaces 的情况下,我也没有看到具有相同登录页面和主应用程序页面的应用程序。无论如何,我面临的问题是,假设我有两页

带有 div 的 Login.html:div id="login"

带有一个 div 的 Main.html:div id="main"

我已经在 web.xml 的欢迎文件列表中声明了它们现在我从登录页面开始,用 gwt 小部件填充“登录”div,然后单击一个按钮我正在使用以下 jsni 代码重定向到“/Main.html?gwt.codesvr=127.0.0.1:9997”

private native void gotoURL(String url)/-{ $wnd.location.href=url; }-/;

然后尝试填充“主”div。但是我注意到的行为是应用程序再次调用入口点并且它没有找到任何元素作为“登录”并给出 NPE。有没有办法做到这一点?还要摆脱“?gwt.codesvr=127.0.0.1:9997”?

谢谢

最佳答案

首先,您不想添加 ?gwt.codesvr=... 内容 - 它仅与托管(gwt 调试)模式相关。您可以使用相对 URL(例如简单的“Main.html”)。但是由于你只能有一个入口点,你需要将应用程序分成两个客户端模块(实际上是两个独立的应用程序)或者根据 url 在你的入口点调度(无论你是登陆 Login.html 还是 Main .html)

其次,在这种情况下我会做的是有一个空的 html,除了动态内容的单个 div 之外没有任何布局,作为应用程序的唯一 html 页面。然后我会使用 2 个 UiBinders - 一个用于主页,一个用于登录,并在 url 中使用哈希后缀(使用 GWT 的历史事件和管理,以及超链接小部件)来了解我在哪里。也许您应该阅读 GWT 关于历史和有状态应用程序的文档。尝试 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsHistory.html#stateful

关于java - GWT 多个 html 页面和导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4714747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com