在 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"));
  }

}

它在没有执行我的入口点的情况下重新下载了页面几千次。

我怎样才能:

有人知道怎么做吗?

补充说明:

通过更改修复了它:

 <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