原来我做自动补全的时候都是需要什么直接返回什么,不能再返回其他的信息.但是看到经理封装的以后,情况变了(可以返回很多信息了);
参考代码:
String sql = "select kh.khName,kh.khId from OaKehu kh where kh.khName like '%"+khn+"%'";
PrintWriter out = null ;
Query q = session.createQuery(sql);
List result =q.list();
List> list = new ArrayList>(result.size());
if(result.size()==0){
Map map = new HashMap(3);
map.put("khName", "");
map.put("khId", "");
map.put("label", "未找到任何结果");
list.add(map);
}else{
for (Object[] o : result) {
Map map = new HashMap(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]);} ;