@RequestMapping(value = "/tablelist/provs/{type}") public ModelAndView provincelist( HttpServletRequest request, @PathVariable String orgi, @PathVariable String type, @ModelAttribute("data") RequestData data) { ResponseData responseData = new ResponseData("/pages/manage/sinosig/location/provincelist"); responseData.setRqdata(data); List<SinoLocation> lists = super.getService() .findAllByCriteria( DetachedCriteria.forClass(SinoLocation.class) .add(Restrictions.eq("orgi", orgi)) .add(Restrictions.eq("type", type))); Map<String, SinoLocation> provincesmap = new HashMap<String, SinoLocation>(); List<SinoLocation> list = new ArrayList<SinoLocation>(); String indexpro = null; for (SinoLocation local : lists) { if (!provincesmap.containsKey(local.getProvince())) { if (indexpro == null) { indexpro = local.getProvince(); } provincesmap.put(local.getProvince(), local); } } if (lists != null && lists.size() > 0) { if (provincesmap != null) { Iterator<SinoLocation> iterator = provincesmap.values().iterator(); while (iterator.hasNext()) { list.add(iterator.next()); } } } responseData.setValueList(list); /*responseData.setValueList(Arrays.asList(provincesmap.values())); responseData.setDataList(Arrays.asList(citysmap.values()));*/ ModelAndView view = request(responseData, orgi, data); return view; }