2

假设我在http://example.com/foo托管一个项目。我将所有 GWT 文件(编译后在 /war/ 目录中生成)放在http://example.com/foo/GwtModule目录中。

然后在我的主机页面http://example.com/foo/bar上,我将以下内容放入 HTML 中:

<script type="text/javascript" src="http://example.com/foo/GwtModule/GwtModule.noCache.js"></script>.

我的问题是:

  • GWT 会知道从 foo/GwtModule 文件夹中获取其资源(例如 css 文件),而不是尝试从 foo/bar 文件夹中获取它们吗?

  • 如果我想向 foo/signup 发送 HTTP 请求,是否可行,GWT.getModuleBaseUrl() + "signup"或者我是否必须解析基本 url,从中删除“/bar”并将其替换为“/signup”?

  • 如果我在本地和 Web 服务器上运行代码,GWT 会自动确定基本 url 是http://localhost/foo/bar还是http://example.com/foo/bar,还是我需要在某处硬编码基本 url?

4

1 回答 1

3

GWT 会知道从 foo/GwtModule 文件夹中获取其资源(例如 css 文件),而不是尝试从 foo/bar 文件夹中获取它们吗?

是的。GWT 总是从脚本 URL(或特殊的)
解析模块库<meta name='gwt:property'>

如果我想向 foo/signup 发送 HTTP 请求,GWT.getModuleBaseUrl() + "signup" 会起作用,还是我必须解析基本 url,从中删除 "/bar" 并用 "/signup" 替换它?

GWT.getModuleBaseURL()/foo/GwtModule/
您可以使用GWT.getModuleBaseURL() + "/../signup""GWT.getHostPageBaseURL() + "/signup",在您的情况下,它们都将解析为相同的/foo/signupURL。

如果我在本地以及在 Web 服务器上运行代码,GWT 是否会自动确定基本 url 是http://localhost/foo/baror http://example.com/foo/bar,还是我需要在某处硬编码基本 url?

请参阅第一个问题的答案。
这意味着您必须使用<script src="GwtModule/GwtModule.nocache.js"><script src="/foo/GwtModule/GwtModule.nocache.js">在您的主机页面中。

于 2012-09-27T09:46:27.340 回答