自动补全的java封装

原来我做自动补全的时候都是需要什么直接返回什么,不能再返回其他的信息.但是看到经理封装的以后,情况变了(可以返回很多信息了);

参考代码:

String sql = "select kh.khName,kh.khId from OaKehu kh where kh.khName like '%"+khn+"%'";
   PrintWriter out = null ;
   Query q = session.createQuery(sql);
   List<Object[]> result =q.list();
   
   List<Map<String, String>> list = new ArrayList<Map<String, String>>(result.size());
   if(result.size()==0){
    Map<String, String> map = new HashMap<String, String>(3);
    map.put("khName", "");
    map.put("khId", "");
    map.put("label", "未找到任何结果");
    list.add(map);
   }else{
    for (Object[] o : result) {
     Map<String, String> map = new HashMap<String, String>(o.length);
     map.put("khName", o[0].toString());
     map.put("label", o[0].toString());
     map.put("khId", o[1].toString());
     list.add(map);
    }
   }
   out = response.getWriter();
   out.print(JsonUtil.toJson(list));
   out.flush();
   out.close();

//备注:其中map中的key为label的显示.其他的数据通过select方法可以调用

//select : function(event, ui) {alert(ui.term[map中的key]);} ;

原文地址:https://www.cnblogs.com/yanjunwu/p/3118580.html