zoukankan      html  css  js  c++  java
  • 枚举类返回Map键值对,绑定到下拉框

    有时候,页面的下拉框要显示键值对,但是不想从数据库取,此时我们可以写一个枚举类,

    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 Map<Integer,String> map = new HashMap<Integer,String>();
        
        //通过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集合中

    写个方法验证一下:

    Map<Integer,String> map = 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);
        }
    }
  • 相关阅读:
    多线程创建方式四种

    归并排序
    Spark调优之--资源调优、并行度调优
    多线程中的上下文切换
    守护线程和本地线程
    线程和进程的区别
    3. 无重复字符的最长子串
    [蓝桥杯][历届试题]连号区间数
    [蓝桥杯][历届试题]蚂蚁感冒
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/8351171.html
Copyright © 2011-2022 走看看