有时候,页面的下拉框要显示键值对,但是不想从数据库取,此时我们可以写一个枚举类,
Java后台代码
1、枚举类
import java.util.HashMap;import java.util.Map;public enum Test { One(0,"王一"),Two(2,"王二"),Three(3,"王三"),Four(4,"王四"); private int number; private String name; public int getNumber() { return number; } public String getName() { return name; } private Test(int number, String name){ this.number = number; this.name = name; } public static final Mapmap = new HashMap (); //通过number获取对应的name public static String getDescription(Integer number){ return map.get(number); } static{ for(Test test : Test.values()){ map.put(test.getNumber(), test.getName()); } }}
Test.values():其中,values()方法获取枚举类的所有值
在static块中将枚举类键值对放进Map集合中
写个方法验证一下:
Mapmap = Test.map;for(Integer i : map.keySet()){ System.out.println(i + ":" + map.get(i));}
输出结果:
0:王一2:王二3:王三4:王四
接着,这个map传到前台页面,页面接收到的是个Map集合
前台页面JS
将这个Map集合绑定到下拉框对应的selectID
function showSelect(selectID, infoMap){ var select = document.getElementById(selectID); var options = select.options; var option; for(var key in infoMap){ option = new Option(infoMap[key], key); options.add(option); }}