java如何实现按照城市首字母分类,在freemarker页面展示

来源:互联网 发布:用java编写计算器代码 编辑:程序博客网 时间:2024/05/15 15:17

 

 

 @RequestMapping("getcity")
    public String example(Model model, HttpServletRequest request, HttpServletResponse response) {

        // 查询热门
        List<Map<String, Object>> list = queryGetCityService.getHotCitys();
        model.addAttribute("CityList", list);
       
        // 按首字母查排序所有城市
        List<Map<String, Object>> allCityList = queryGetCityService.getAllcityByLetter();

        Map<String, List<Object>> mapZm = new LinkedHashMap<String, List<Object>>();
        String[] zm = new String[] { "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M",
                "N", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z" };

        for (int i = 0; i < zm.length; i++) {
            mapZm.put(zm[i], new ArrayList<Object>());
        }
        //将对应的list放入相应的字母
        for (Map<String, Object> map : allCityList) {
            //暂时存放首字母
            String pinyin = ((String) map.get("PINYIN")).substring(0, 1).toUpperCase();
            //如果mapZm的key 包含pinyin 
            if (mapZm.containsKey(pinyin)) {
                mapZm.get(pinyin).add(map);
            }
        }

        model.addAttribute("mapZm", mapZm);

        return "groupbuy/allcityList.ftl";

    }

 上面的代码就可以实现了,其实很简单!!!!!!自己琢磨出来的!!!!!!!!