2011-07-07 31 views
1

我在我的forms.I使用struts選擇標籤。我使用一個哈希映射來填充它。當我加載頁面時,動作類中的方法將調用另一個使用hibernate獲取數據並返回一個Map的類。然後,動作類中的方法將獲取該Map對象並用於填充選擇標記。這工作正常,但即使我得到從數據庫中排序的列表(我使用控制檯打印檢查)slect標記不顯示它排序。我認爲這發生在我將數據庫類Map對象中的valus複製到動作類Map對象或選擇標記正在填充時。任何解決方案Struts 2選擇標籤排序值問題

我這是怎麼填的地圖在我的動作類

private Map<String, String> serialList; 

//in the method 
serialList=new DropdownFiller().getSealNoForItemsAndLocation(); 
//the getSealNoForItemsAndLocation() returns a Map 

回答

5

我用地圖可以順序是沒有問題在Struts2重要。但是Map必須提供可預測的迭代順序,例如LinkedHashMap,常規的Hashmap不提供可預測的迭代...... TreeMap也可以工作,還有其他一些實現。

http://download.oracle.com/javase/6/docs/api/java/util/LinkedHashMap.html

+0

會試試這個。非常感謝.. – user759740

+0

它的工作原理。你所要做的就是製作一個LikedHashMap而不是通常的HashMap。非常感謝Quaternion。 – user759740