2014-04-15 38 views
1

我有以下填充我的下拉列表的MAP;但是,它會更改選項的順序。爲什麼下拉框的選項順序改變了?

public static final Map SIZE = new TreeMap(){ 
     { 
      put("-1"," "); 
      put("100","100m2");   
      put("200","200m2");   
      put("300","300m2");   
      put("400","400m2");   
      put("500","500m2");   
      put("600","600m2");   
      put("700","700m2");   
      put("800","800m2");   
      put("900","900m2"); 
      put("1000","1000m2");     
     } 
     ; 
    }; 


<s:select name="size" label="Size" list="@[email protected]"/> 

選項中的Dropbox

100m2 
1000m2 
200m2 
300m2 
.... 

回答

4

TreeMap的排序依據的鍵的自然順序。嘗試將您的密鑰更改爲整數:

public static final Map SIZE = new TreeMap(){ 
     { 
      put(-1," "); 
      put(100,"100m2");   
      put(200,"200m2");   
      put(300,"300m2");   
      put(400,"400m2");   
      put(500,"500m2");   
      put(600,"600m2");   
      put(700,"700m2");   
      put(800,"800m2");   
      put(900,"900m2"); 
      put(1000,"1000m2");     
     } 
     ; 
    }; 


<s:select name="size" label="Size" list="@[email protected]"/> 
相關問題