我嘗試使用自動完成的jQuery UI的腳本,但是從文檔它解釋說,遠程數據源必須返回一個JSON數據,這不是在談論純文本響應, 和我在jsp/servlet中開發我的應用程序,我不知道如何創建json數據。jQuery的UI的自動完成
所以,我已經發現了其他的jQuery自動完成插件 - >autocomplete feature with java
本教程和腳本的工作很好,但劇本有我需要的不是相同的選項。 我儘量保持相同getdata.jsp和servlet頁適應jQuery的UI的自動完成的只是改變腳本的鏈接,螢火蟲說我正確的響應請求但是這不顯示!
JavaScript調用:
<script>
$(function() {
$("#responsable").autocomplete({
source: "getdata.jsp",
minLength: 2
});
});
</script>
這裏是getdata.jsp文件:
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="fr.myldap.model.*"%>
<%
PersonneDB db = new PersonneDB();
String query = request.getParameter("term");
List<Personne> personnes = db.getData(query);
Iterator<Personne> iterator = personnes.iterator();
while(iterator.hasNext()) {
String personne = (String)iterator.next().getNomComplet();
out.println(personne);
}
%>
這裏是PersonneDB類至極返回的人名單
package fr.myldap.model;
import java.util.ArrayList;
import java.util.List;
public class PersonneDB {
private LDAPInterneDao piDao;
private LDAPExterneDao peDao;
public PersonneDB() {
ContextVar var= new ContextVar();
piDao = var.getPiDao();
peDao = var.getPeDao();
}
public List<Personne> getData(String query) {
List<Personne> matched = new ArrayList<Personne>(piDao.findByName(query));
matched.addAll(peDao.findByName(query));
return matched;
}
}
我希望任何人都可以幫到我
謝謝你,我有json庫,我已經理解你的解釋,但我必須返回多個人自動完成,我有一個ArrayList的人我需要,我想返回一個這個對象列表的JSON數據! – FAjir 2011-04-27 08:36:32
看到我更新的答案... – Nirmal 2011-04-27 08:42:59
也返回json對象不是結束,你需要解析客戶端返回的JSON對象...因此,探索那部分... – Nirmal 2011-04-27 08:46:03