在 Tapestry 4 中包含 GWT
Including GWT in Tapestry 4
我在 JBoss 4.3 服务器上安装了 Tapestry 4 运行。网络应用程序 运行 在 http://localhost:8080/TapestryGISPlayerground/
在此 Tapestry 中,我使用 GWT 代码。这是主页:
<html jwcid="@Shell" title="literal:'TapestryGISPlayerground' Start Page" >
<body jwcid="@Body">
<h1>view Start Page</h1>
<script language="javascript" src="/TapestryGISPlayerground/tapestryGWT/tapestryGWT.nocache.js"></script>
<p>This is the start page for this application, a good place to
start your modifications. Just to prove this is live:</p>
<p><span jwcid="time@Any"> The current time is: <span
jwcid="@Insert" value="ognl:currentTime"> 12/22/2002 blah </span> </span></p>
<div id="Derpington">
</div>
</body>
</html>
这基本上应该可行,但这就是它变得棘手的地方。
nocache.js 在 http://localhost:8080/TapestryGISPlayerground/tapestryGWT/107089FA8293C4684B109E80DDA15F8F.cache.html to get its real code ( http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideBootstrap 上执行获取请求)。但是 Tapestry 看到我正在尝试获取 HTML 页面并将请求重定向到上面的主页。这又会重新下载 nocache.js 并开始无限循环。
而不是执行:
public class TapestryEntry implements EntryPoint {
public void onModuleLoad() {
GWT.log("BLABLA");
Window.alert("Im doing SOMETHING!");
RootPanel.get("Derpington").add(new InlineLabel("Derp"));
}
}
它在没有执行我的入口点的情况下重新下载了页面几千次。
我怎样才能:
- 使 Tapestry 不捕获 GWT 或
发出的请求
- 使 GWT 不使用 .html 而是使用不同的文件类型进行下载
有人知道怎么做吗?
补充说明:
- GWT 版本:2.6.0
- Tapestry 版本:4.1.6(不是我的选择,需要在现有的 Tapestry 页面中构建一些东西)
通过更改修复了它:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
收件人:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
在web.xml
升级到新版本!
Tapestry 5 集成了:
http://wiki.apache.org/tapestry/Tapestry5GWTIntegration
我在 JBoss 4.3 服务器上安装了 Tapestry 4 运行。网络应用程序 运行 在 http://localhost:8080/TapestryGISPlayerground/ 在此 Tapestry 中,我使用 GWT 代码。这是主页:
<html jwcid="@Shell" title="literal:'TapestryGISPlayerground' Start Page" >
<body jwcid="@Body">
<h1>view Start Page</h1>
<script language="javascript" src="/TapestryGISPlayerground/tapestryGWT/tapestryGWT.nocache.js"></script>
<p>This is the start page for this application, a good place to
start your modifications. Just to prove this is live:</p>
<p><span jwcid="time@Any"> The current time is: <span
jwcid="@Insert" value="ognl:currentTime"> 12/22/2002 blah </span> </span></p>
<div id="Derpington">
</div>
</body>
</html>
这基本上应该可行,但这就是它变得棘手的地方。 nocache.js 在 http://localhost:8080/TapestryGISPlayerground/tapestryGWT/107089FA8293C4684B109E80DDA15F8F.cache.html to get its real code ( http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideBootstrap 上执行获取请求)。但是 Tapestry 看到我正在尝试获取 HTML 页面并将请求重定向到上面的主页。这又会重新下载 nocache.js 并开始无限循环。
而不是执行:
public class TapestryEntry implements EntryPoint {
public void onModuleLoad() {
GWT.log("BLABLA");
Window.alert("Im doing SOMETHING!");
RootPanel.get("Derpington").add(new InlineLabel("Derp"));
}
}
它在没有执行我的入口点的情况下重新下载了页面几千次。
我怎样才能:
- 使 Tapestry 不捕获 GWT 或 发出的请求
- 使 GWT 不使用 .html 而是使用不同的文件类型进行下载
有人知道怎么做吗?
补充说明:
- GWT 版本:2.6.0
- Tapestry 版本:4.1.6(不是我的选择,需要在现有的 Tapestry 页面中构建一些东西)
通过更改修复了它:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
收件人:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
在web.xml
升级到新版本!
Tapestry 5 集成了: http://wiki.apache.org/tapestry/Tapestry5GWTIntegration