Tapestry:网格排序/分页链接转到错误的URL

时间:2017-02-02 21:29:04

标签: java tapestry

我正在使用Tapestry 5.1中的一个页面,暂时命名为TestPage.tml / TestPage.java,.tml包含一个网格控件(<table t:type="grid" ... >)。运行应用程序时,网格会正确显示所有数据,但我在分页和列排序方面存在问题。我在localhost:8080上运行,当我点击网格的分页链接或任何列排序链接时,浏览器会尝试转到testpage/而不是完整的网址,Chrome的地址栏就是证明。 Chrome当然说无法找到该网站。

为了使事情更奇怪,我有另一个页面,也有一个网格,排序/分页工作正常。关于网格,我没有采取任何不同的方式。

其他可能相关的信息:

  • 没有设置特殊的sortModel。
  • 生成的html源代码中的排序/分页的href看起来像是:<a title="Go to page 23" href="testpage.grid.pager/23">23</a>,应将其视为相对网址,因此在点击时会转到localhost:8080/testpage.grid.pager/23
  • 更改一些变量名以保护无辜者,我的表标签如下所示: <table t:type="grid" t:source="items" t:row="item" t:include="itemId,itemName,quantity" reorder="mark,itemId,itemName,quantity,summary" t:add="mark,features,summary" t:rowclass="prop:evenodd.next">再次,数据显示正常。
  • 通过在TestPage.java中设置丰富的断点,我能够看到当我点击分页或排序链接时调用pageLoaded()方法(但是我没有调用其他方法) 。因此,页面的后端似乎确实被访问了,因为它的价值。也许Tapestry因为某种原因在击中后端后让我回到了错误的页面。
  • 如果我将鼠标光标悬停在链接上,则底部浏览器栏会显示完整的网址。

我很乐意提供任何其他信息,如果它可以帮助导致解决方案。谢谢!

1 个答案:

答案 0 :(得分:1)

所以我将我的Tapestry升级到5.3(从5.1)并且看,这个错误消失了!