tapestry组件呈现顺序

时间:2011-03-01 16:26:55

标签: rendering tapestry

我使用Tapestry 4.1.1,我需要更改一些组件在tapestry应用程序页面中呈现的顺序。 我在HTML中有以下内容:

-start of page
-component1(显示位置的地图)
-component2(结果表contrib:table)
- 页面末尾

结果表显示90个对象。它被分页。每页10个对象。 9页。
Becouse tapestry处理对象的排序顺序,我不知道将显示哪些对象。我想我需要等待它才能确切地知道向用户展示了什么?

component1显示地图上的位置。它需要来自结果表中显示的其中一个对象的标识符。没有任何标识符。所有90个中都有一个显示出来。

我使用'row'绑定setRow(Object 0)来了解显示的对象。该方法被调用10次。太棒了。 然后我需要将标识符传递给component1。在组件2之前的HTML组件中,它将在呈现结果表之前呈现。

我尝试在.page规范中将component2放在component1之前,但这没什么区别。只有将component2中的component2放在HTML中才能实现。

我真的希望有人可以帮助我,因为我已经被困了一段时间了,我真的需要让它发挥作用。

提前感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

这可以在客户端使用JavaScript完成吗?你想要做的事情在Tapestry 5中要容易得多。在Tapestry 4中你可以做一些奇怪的技巧,比如首先渲染表格,捕获输出HTML,而不是稍后在页面上插入。

或者,您可以向contrib:Table提供正确的模型对象(而不是让它处理所有分页工作),并且在呈现之前,您将知道它将呈现的确切内容。