如何通过在浏览器地址栏中输入显示GWT应用程序中的用户视图



我有这个gwt应用程序,它说,运行在http://mygwtapp.com/(这实际上是:http://mygwtapp.com/index.html)

应用托管一个用户数据库,通过使用搜索视图搜索用户名进行查询,结果显示在用户结果视图中。非常有用。然而,我需要添加一种方式,用户视图可以通过输入http://myapp.com/user123

查看

我认为我在这里的问题,答案是一个服务器端解决方案。但是,如果有客户端解决方案,请告诉我。

一个在StackOVerflow的人建议格式应该是这样的:mygwtapp.com/index.html # user123

但是格式很重要,例如:http://myapp.com/user123

'http://host/path#something'中的'something'是Fragment标识符。FI有一个特殊的特性:如果URL中的FI部分发生变化,页面不会重新加载,但它们仍然会参与浏览器历史记录。

FI是GWT用来创建"页面"的浏览器机制,即GWT应用程序的可书签和历史支持部分。

你可以尝试使用一个没有# (FI分隔符)的URL,但这样你就会有一个正常的URL,每次更改都会重新加载页面,它不能(容易地)成为正常GWT应用程序的一部分。

mygwtapp.com/index.html#user123这将使用历史机制(http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsHistory.html),我将添加这是推荐的方法。

但是,如果您坚持使用http://myapp.com/user123之类的东西,一种可能的方法是使用一个接受此请求的servlet(您可能必须切换到http://myapp.com/details?id=user123之类的东西)。servlet将查找DB并返回您的主机html。在返回之前,它会将所需的详细信息作为Dictionary条目注入页面(http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/i18n/client/Dictionary.html)。在客户端上,您可以读取该数据并在UI

上显示。

最新更新