Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 在GWT I';我想在www.domain.com上加载主页,在www.domain.com/xyz上加载动态页面-我只需要';我做不到_Url_Gwt_Redirect_Web.xml - Fatal编程技术网

Url 在GWT I';我想在www.domain.com上加载主页,在www.domain.com/xyz上加载动态页面-我只需要';我做不到

Url 在GWT I';我想在www.domain.com上加载主页,在www.domain.com/xyz上加载动态页面-我只需要';我做不到,url,gwt,redirect,web.xml,Url,Gwt,Redirect,Web.xml,我有一个问题,我相信一定有一个简单的解决办法。我正在编写一个小型GWT应用程序,希望在其中实现以下目标: www.domain.com:应提供欢迎页面 www.domain.com/xyz:应该提供页面xyz,其中xyz只是 数据库中某项的键。如果有 项,我将加载该项并显示一个页面,否则我将显示一个 404错误页 我试图相应地修改web.xml文件,但就是做不到 让它发挥作用。如果有问题的键在另一个/(例如:www.domain.com/search/xyz)之后,我可以使用url模式。然而,

我有一个问题,我相信一定有一个简单的解决办法。我正在编写一个小型GWT应用程序,希望在其中实现以下目标:

www.domain.com:应提供欢迎页面

www.domain.com/xyz:应该提供页面xyz,其中xyz只是 数据库中某项的键。如果有 项,我将加载该项并显示一个页面,否则我将显示一个 404错误页

我试图相应地修改web.xml文件,但就是做不到 让它发挥作用。如果有问题的键在另一个/(例如:www.domain.com/search/xyz)之后,我可以使用url模式。然而, 我希望键xyz直接跟随根/()

差不多

    <servlet-mapping> 
            <servlet-name>main</servlet-name> 
            <url-pattern>/</url-pattern> 
    </servlet-mapping> 
你不知道

GWT的意思是创建单页Web应用程序(RIA),而不是超链接到各种松散页面。实际上,当在初始页面中加载GWT应用程序时,您可以引导它,并通过使用小部件、处理事件和通过GWT-RPC或简单HTTP请求请求服务器数据(例如,在访问其他域上的REST服务时),在应用程序中动态生成内容

两周前,我向一位同事介绍了GWT,当他被困在如何“链接到新页面”上时,我让他仔细研究了一会儿。我解释过GWT不是面向基于页面的导航网站,而是用于构建使用浏览器作为运行时的应用程序

希望这能对你的问题有所帮助:)

问候,,
--杰罗恩是对的。你没有

然而,如果你想强迫它,你可以。基本上,每个新url都必须有一个包含GWT小部件的HTML页面。因此,导致GWT小部件必须在每个新url上重新加载自身。然后,它将根据URL相应地配置其UI。您可以使用诸如Jersey或Restlet之类的REST框架来简化工作

但是,只有当您打算在GWT应用程序之外分发这些新链接或URL时,才需要这样做。但是,GWT支持通过锚更改URL(不确定这是否是正确的术语),有关更多信息,请参阅历史记录文档。不要在应用程序中“链接”到域中包含相同GWT小部件的其他URL。做任何会导致页面刷新和GWT小部件重新加载的事情都是非常低效的。使用ClickHandler

总之,不要这样做。=)

试试UrlRewriteFilter:它是一个普通的ol'JavaEE过滤器,因此应该可以工作。

用它代替 www.domain.com/?key=A1B2C3 您可以使用GWT的方法: www.domain.com/#key=A1B2C3
您可以通过历史记录机制执行此操作。

谢谢JP。我真的很想把这些链接发布到外面的世界。让我更详细地解释一下我的应用程序:-用户可以创建问题表单。他们进入主页(如www.questionform.com),创建一个表单并保存它-然后给他们一个URL,在那里他们可以找到自己的表单(如www.questionform.com/a3d239s),他们可以发送给同事填写-表单问题存储在谷歌应用程序引擎的数据库中-因此没有静态HTML页面,而是,当用户输入URL时,表单“被创建”如何实现?谢谢你,杰伦。请看我对JP回答的评论。也许你有办法解决这个问题?
<web-app> 
  <error-page> 
     <exception-type>404</exception-type> 
     <location>/index.html</location> 
  </error-page> 
  <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
  </welcome-file-list> 
</web-app> 
String path = Window.Location.getPath(); 
if (path == null || path.length() == 0 || path.equalsIgnoreCase("/") 
|| path.equalsIgnoreCase("/index.html")) { 
    ... // load main page 
} else { 
    lookup(path.substring(1)); // that's key xyz