2011-03-01 72 views
1

我使用的Tapestry 4.1.1,我需要改變一些組件在一個掛毯應用程序頁面呈現的順序。 我已中HTML以下:掛毯組件渲染順序

頁的-start
    -component1(地圖表示的位置)
    -component2(一個resulttable的contrib:表)

頁的
末端

結果表可以顯示90個對象。它被分頁。每頁10個對象。 9頁。
Becouse掛毯處理對象的排序順序,我不知道這些對象將被顯示。我想我需要等待渲染才能確切地知道顯示給用戶的是什麼?

component1顯示地圖上的位置。它需要結果表中顯示的一個對象的標識符。沒有任何標識符。其中10個顯示出全部90個。

我使用'row'綁定setRow(Object 0)來知道哪些對象被顯示。該方法被調用10次。太棒了。 然後我需要將標識符傳遞給component1。在組件1中出現的HTML組件1會在呈現結果表之前呈現。

我試着將component2放在.page規範中的component1之前,但這沒什麼區別。只有將component2放在HTML之前,才能做到這一點。

我真的很希望有人能幫助我,因爲我一直堅持一段時間,我真的需要得到這個工作。

在此先感謝您的幫助!

回答

1

這可以在客戶端使用JavaScript來完成嗎?在Tapestry 5中,你想要做的事情要容易得多。在Tapestry 4中,你可以做一些奇怪的技巧,比如先渲染表格,捕獲它的輸出HTML,然後在頁面上插入它。或者,您可以將正確的模型對象提供給contrib:Table(而不是讓它處理所有分頁工作),並且這種方式在渲染之前就會知道它將呈現的內容。

+0

我試着給結果表一個IBasicTableModel。同樣的問題。它將在component1被渲染後被調用。 – user639677 2011-03-02 09:23:28

+0

輸出緩衝可能會訣竅。我將如何去做並做到這一點? – user639677 2011-03-02 09:24:46