为什么下拉框选项的顺序会发生变化?

时间:2014-04-15 03:32:12

标签: html struts2

我有跟随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="@com.example.Lists@SIZE"/>

dropbox中的选项

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

1 个答案:

答案 0 :(得分: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="@com.example.Lists@SIZE"/>