Ciao ho un problema con l'autocomplete di java. Ho una form con una casella di input. Scrivendo in questa casella di input mi devono venire fuori le opzioni possibili prese dal mio database prendendo come riferimento le lettere che man mano scrivo nella casella.
PEZZO DEL FORM
codice:
<form id="theform" name="theform" action="doListaDomande.jsp" method="POST">
<label>Categoria <input type="text" id="categoria" name="categoria"/>
<input type="text" id="idcategoria" name="idcategoria"/> </label>
<span id="completacategorie"></span><%--nello span metto le opzioni delle parole--%> </p>
<input id="bottone" type="submit" value="cerca"> </p> </form>
AUTOCOMPLETE(si trova nella view del form)
codice:
<script type="text/javascript"> $(function() { $('#categoria').autocomplete({
minLength: 0,
source: "ajax/ajaxCompletaCategorie.jsp?"+$('#categoria').val(),
focus: function(event, ui) { $('#categoria').val(ui.item.label);
return false;
},
select: function(event, ui) {
$('#categoria').val(ui.item.label);
$('#idcategoria').val(ui.item.value);
return false; } }) }); </script>
PAG AJAX
codice:
<%@page import="java.util.List"%><%@page import="it.polito.elite.qax.db.CategoriaDAO"%><%@page contentType="text/plain" pageEncoding="UTF-8"%>
<% String testo = request.getParameter("term") ;
//The Autocomplete plugin does not filter the results, /
/instead the request parameter "term" gets added to the URL,
//which the server-side script should use for filtering the results.
CategoriaDAO cdao = new CategoriaDAO() ;
List<String> completamenti = cdao.getCompletamenti(testo) ;
//mi ritorna una lista di String del tipo "value":"3","label":"canzoni" out.print("[");
int i=1;
for ( String s : completamenti ) {
out.print(s) ;
if (i<completamenti.size()) {
out.print(",");
}
i++; }
out.print("]"); %>
Il codice è del prof ma non mi funziona, inoltre non capisco alcune cose: tipo a cosa serva la variabile "term" e perchè al suo posto non c'è "testo"..con term non trova nulla nel database, con testo si perchè nella pagina javascript dove faccio la richiesta ad ajax ho 'xhr.open("GET", "ajax/ajaxCompletaCategorie.jsp?testo="+testo) '.
Vi prego aiutatemi e scusate x il codice lungo