2008-11-05 53 views
1

我正在使用JSP displaytag標籤庫創建HTML表格。我希望用戶能夠點擊列標題來排序數據。我的JSP代碼如下所示:使用displaytag JSP選項卡排序HTML表格

<display:table name="tableData" id="stat" sort="page"> 
    <display:column property="name" title="Name" sortable="true"/> 
    <display:column property="age" title="Age" sortable="true"/> 
</display:table> 

我認爲這將導致數據在客戶端(在JavaScript)進行排序,但其實際作用是創建列標題破碎的超級鏈接回服務器。

是否可以使用displaytag在客戶端對數據進行排序?如果是這樣,怎麼樣?

乾杯, 唐

回答

2

看看使用jquery並以其優良的tablesorter API。這會讓你使用Javascript對客戶端的表進行排序。

7

據我所知,這是不可能的。 JQuery的tablesorter可以用於它用作示例的小表,但大多數表必須來自實際的數據庫。這個命中太大了,不能簡單地檢索所有的數據,然後用這些信息返回給客戶端,然後再對它進行排序。

Displaytag具有標籤的「requestURI」元素,允許其請求轉到您配置的url處理程序。

所以,如果你使用:

<display:table requestURI="yourUrlMappedController.yourExtension" ...> 

這將允許從您的控制器再次檢索數據的權宜之計。但是,最終你會想要制定一個策略,該策略使用displaytag排序參數作爲「order by」子句中的選項,並從數據庫中頁面化數據,而不是一次拉動所有數據。這是一件棘手的事情,但前面的努力在性能方面可以是非常有益的。

displaytag網站有三件事你應該經常檢查參考,就像旁邊一樣。 Tag Reference,Configuration Guide,當然還有他們的(可下載的)Live Examples.