Ajaxtags:autocomplete .. alguém já usou?

Opa ;D

Alguém já usou o ajaxtags? Conseguiu usar? Tem alguma indicação ou reclamação para fazer dele?

[]'s

Já usei e recomendo…
Lembrando que AJAX é como bebida alcoolica: use com moderação, onde moderação é segurança da sua aplicação…
Mais em http://ajaxtags.sourceforge.net/usage.html

Certo,
eu to levando pau dele amigo…será que vc pode me dar uma força?

Eu segui todos tutoriais que encontrei na net e ele não chama meu servlet…

Meu web.xml está assim:

	<servlet>
		<servlet-name>CountryCompleter</servlet-name>
		<servlet-class>CountryCompleter</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>CountryCompleter</servlet-name>
		<url-pattern>/country_list.view</url-pattern>
	</servlet-mapping>

Minha teste.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/recursos/tld/ajaxtags.tld" prefix="ajax" %>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/prototype.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/scriptaculous/scriptaculous.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/overlibmws/overlibmws.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/overlibmws/overlibmws_crossframe.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/overlibmws/overlibmws_iframe.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/overlibmws/overlibmws_hide.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/overlibmws/overlibmws_shadow.js"></script>

<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/ajax/ajaxtags.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/ajax/ajaxtags_controls.js"></script>
<script type="text/javascript" src="/sgdi/recursos/js/ajaxtags/ajax/ajaxtags_parser.js"></script>

<link rel="stylesheet" type="text/css" href="/recursos/css/ajaxtags.css" />
<link rel="stylesheet" type="text/css" href="/recursos/css/displaytag.css" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<fieldset>
<legend>ajax:autocomplete example</legend>
<form>
<label for="country">Country Name: </label>
<input type="text" name="country" id="paises"/>
</form>

<ajax:autocomplete
source="paises"
target="paises"
baseUrl="country_list.view"
parameters="paises={paises}"
className="autocomplete"
minimumCharacters="1"/>
</fieldset>  
  
</body>
</html>

E meu servlet

public class CountryCompleter extends BaseAjaxServlet {
	
	private static final String countries = "America,Angola,Austria,Australia,Bahama,Bangladesh,Bermuda,Canada,Chad,Cyprus,Denmark";
	
	private static final String[] countryNames = countries.split(",");
	
	
	@Override
	public String getXmlContent(HttpServletRequest request,
			HttpServletResponse arg1) throws Exception {
		// TODO Auto-generated method stub
		//Gets country prefix from request object
		String countryPrefix = request.getParameter("country");

		//Generate country names? list as XML
		String countryList = makeCountryList(countryPrefix);

		//Returns XML list as string
		return countryList;
	}

	private String makeCountryList (String countryPrefix) {
		AjaxXmlBuilder builder = new AjaxXmlBuilder();
		for(String country: countryNames) {
		if(country.toUpperCase().startsWith
		(countryPrefix.toUpperCase())) {
		builder.addItem(country, country);
		}
		}
		return builder.toString();
		}
}

Amigo, vc sabe pq ele pode não estar chamando o servlet no baseUrl?

[]'s

mendigo… conseguiu fazer funcionar?? estou com o mesmo problema…
se tiver conseguido…posta ai!!!

valeo
abraco

E ai Galera…

Estou utilizando e esta na boa…

Ai vai meu codigo…

Meu Web.xml…


<servlet>
	<servlet-name>autocomplete</servlet-name>
	<servlet-class>br.com.folha.gestao.servlet.AutocompleteServlet</servlet-class>
	<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>autocomplete</servlet-name>
	<url-pattern>/autocomplete.do</url-pattern>
</servlet-mapping>

<taglib>
	<taglib-uri>http://ajaxtags.org/tags/ajax</taglib-uri>
	<taglib-location>/WEB-INF/taglib/ajaxtags.tld</taglib-location>
</taglib>

Meu Servlet:

public String getXmlContent(HttpServletRequest request, HttpServletResponse response) throws Exception {

	AjaxXmlBuilder xml = new AjaxXmlBuilder();

	String busca = request.getParameter("descricao");

	TipoBusiness bussiness = new TipoBusiness();

	List<Tipo> lista = bussiness.listarPorNomeInicial(busca+"%");

	for(Tipo tipoBean : lista){
		xml.addItem(tipoBean.getDesTipo(), tipoBean.getDesTipo(), true);			
	}


	return xml.toString();
}

Minha Pagina…


<%@ taglib uri="/WEB-INF/taglib/struts-html"       prefix="html"%>
<%@ taglib uri="/WEB-INF/taglib/struts-logic"      prefix="logic"%>
<%@ taglib uri="/WEB-INF/taglib/struts-bean"       prefix="bean"%>
<%@ taglib uri="/WEB-INF/taglib/displaytag"        prefix="display"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://ajaxtags.org/tags/ajax"     prefix="ajax"%>

<html:form action="/TipoAction" focus="desTipo">

	<c:set var="contextPath" scope="request">${pageContext.request.contextPath}</c:set>

	<link rel="stylesheet" type="text/css" href="css/ajaxtags.css" />
	<script type="text/javascript" src="js/prototype.js"></script>
	<script type="text/javascript" src="js/scriptaculous/scriptaculous.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_crossframe.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_iframe.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_hide.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_shadow.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags_controls.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags_parser.js"></script>

	<div align="center">
	
	<table>
		<tr>
		<td align="right" ><b><bean:message key="global.tipo" />: </b></td>
		<td align="left" ><html:text styleId="desTipo" property="desTipo" size="50" onkeyup="javascript:upperMe(this);" maxlength="50"/>
		<span id="indicator" style="display:none;"><img src="${contextPath}/images/indicator.gif" /></span>
		</tr>
	</table>
	
	</div>

</html:form>

<div id="errorMsg" style="display:none;border:1px solid #e00;background-color:#fee;padding:2px;margin-top:8px;width:300px;font:normal 12px Arial;color:#900"></div>

<ajax:autocomplete
  baseUrl="${contextPath}/autocomplete.do"
  source="desTipo"
  target=""
  parameters="descricao={desTipo}"
  className="autocomplete"
  indicator="indicator" 
  minimumCharacters="1"/>

Espero que Ajude…

[]´s

Bom dia!

Eu consegui implementar o autocomplete e funciona bem! Mas agora, ao invés de usar SERVLET, eu passei o código para Action (do Struts) e estou com um pequeno problema para mostrar a lista na tela. Eu consigo chamar a action e fazer a busca da lista, mas na hora de mostrar na tela nada aparece. Com certeza deve ser por causa do retorno, mas não sei como fazer isso.

O código da minha action é:

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

try{

String dsItem = request.getParameter(“dsItem”).trim();

//Chamando serviço para realizar a consulta (lista)

List list = service.retorno();

String xml = new AjaxXmlBuilder().addItems(list, “dsItem”, “cdItem”,true).toString();

request.setAttribute(“xml”, xml);

return null;

} catch (Exception e){
//Melhorar o tratamento de erro
log.error(e);
return null;
}
}

o meu struts-config.xml está assim:

e o meu jsp está assim:

<ajax:autocomplete source=“dsItem” target=“cdItem” baseUrl="/applteste/autocompleteProduto.do"
className=“autocomplete” indicator=“indicatorProduto” minimumCharacters=“2” />

[quote=rlether]E ai Galera…

Estou utilizando e esta na boa…

Ai vai meu codigo…

Meu Web.xml…


<servlet>
	<servlet-name>autocomplete</servlet-name>
	<servlet-class>br.com.folha.gestao.servlet.AutocompleteServlet</servlet-class>
	<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>autocomplete</servlet-name>
	<url-pattern>/autocomplete.do</url-pattern>
</servlet-mapping>

<taglib>
	<taglib-uri>http://ajaxtags.org/tags/ajax</taglib-uri>
	<taglib-location>/WEB-INF/taglib/ajaxtags.tld</taglib-location>
</taglib>

Meu Servlet:

public String getXmlContent(HttpServletRequest request, HttpServletResponse response) throws Exception {

	AjaxXmlBuilder xml = new AjaxXmlBuilder();

	String busca = request.getParameter("descricao");

	TipoBusiness bussiness = new TipoBusiness();

	List<Tipo> lista = bussiness.listarPorNomeInicial(busca+"%");

	for(Tipo tipoBean : lista){
		xml.addItem(tipoBean.getDesTipo(), tipoBean.getDesTipo(), true);			
	}


	return xml.toString();
}

Minha Pagina…


<%@ taglib uri="/WEB-INF/taglib/struts-html"       prefix="html"%>
<%@ taglib uri="/WEB-INF/taglib/struts-logic"      prefix="logic"%>
<%@ taglib uri="/WEB-INF/taglib/struts-bean"       prefix="bean"%>
<%@ taglib uri="/WEB-INF/taglib/displaytag"        prefix="display"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://ajaxtags.org/tags/ajax"     prefix="ajax"%>

<html:form action="/TipoAction" focus="desTipo">

	<c:set var="contextPath" scope="request">${pageContext.request.contextPath}</c:set>

	<link rel="stylesheet" type="text/css" href="css/ajaxtags.css" />
	<script type="text/javascript" src="js/prototype.js"></script>
	<script type="text/javascript" src="js/scriptaculous/scriptaculous.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_crossframe.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_iframe.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_hide.js"></script>
	<script type="text/javascript" src="js/overlibmws/overlibmws_shadow.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags_controls.js"></script>
	<script type="text/javascript" src="js/ajax/ajaxtags_parser.js"></script>

	<div align="center">
	
	<table>
		<tr>
		<td align="right" ><b><bean:message key="global.tipo" />: </b></td>
		<td align="left" ><html:text styleId="desTipo" property="desTipo" size="50" onkeyup="javascript:upperMe(this);" maxlength="50"/>
		<span id="indicator" style="display:none;"><img src="${contextPath}/images/indicator.gif" /></span>
		</tr>
	</table>
	
	</div>

</html:form>

<div id="errorMsg" style="display:none;border:1px solid #e00;background-color:#fee;padding:2px;margin-top:8px;width:300px;font:normal 12px Arial;color:#900"></div>

<ajax:autocomplete
  baseUrl="${contextPath}/autocomplete.do"
  source="desTipo"
  target=""
  parameters="descricao={desTipo}"
  className="autocomplete"
  indicator="indicator" 
  minimumCharacters="1"/>

Espero que Ajude…

[]´s[/quote]

Cara pq vc naum continua utilizando o Servlet ???

Eu utilizao Struts aqui tambem mas para estes casos são implementados classes servlets, não perdi meu tempo tentando utiklizar no Struts…

Att,
Rodrigo

Galera to apanhando d+ para colocar esse autocomplete no meu projeto gostaria se possivel que me ajudassem

meu web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>
     <servlet-name>init</servlet-name>
     <servlet-class>com.financeiro.sistema.init</servlet-class>
	 <load-on-startup>2</load-on-startup>
   </servlet> 


  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
   	<servlet>
 		<servlet-name>principal</servlet-name>
 		<servlet-class>com.financeiro.servlet.AutoCompleteServlet</servlet-class>
 		<load-on-startup>2</load-on-startup>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>principal</servlet-name>
 		<url-pattern>/principal.view</url-pattern>
 	</servlet-mapping>
 
  
</web-app>

minha principal.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://ajaxtags.org/tags/ajax" prefix="ajax"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>.:: Sebrae em Goiás - Financeiro ::.</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<link href="DisplayTag.css" rel="stylesheet" type="text/css" />
</head>

<body>
<html:form action="/BuscaSubmit" method="post" focus="nome">



  <table width="100%" height="95%" border="0" cellpadding="0"
				cellspacing="0">
    <tr>
      <td align="center" class="txterro">
		<html:errors/>
	<table background="" width="607" height="269" border="0" align="center">
    <tr>
      <td height="70" colspan="2"><div align="center" class="titulo_vermelho">Sistema de Informa&ccedil;&otilde;es sobre Inadimpl&ecirc;ncia </div></td>
    </tr>
    <tr>
      <td height="61" colspan="2" align="center" valign="center"><p class="txttitulo">Informe os dados do cliente: (Nome e/ou cpf/cnpf) </p></td>      
    </tr>
    <tr>
    	<label >NOME:</label> 
		<input id="nome1" name="nome1" size="30" value=""/>
	 	<span id="indicator" style="display:none;"><img src="./css/images/indicator.gif" /></span> 		
	 	
	 	<label >CPF:</label> 
		<input id="cpf1" name="cpf1" size="30" value=""/>
	 	<span id="indicator" style="display:none;"><img src="./css/images/indicator.gif" /></span> 		
    </tr>
    <tr>
      <td height="29" align="center" valign="top"><div align="right"><p class="txtnormalpreto">CPF/CNPJ: </p></div></td>       
      <td width="298" align="center" valign="top"><div align="left"><p><html:text property="cpf_cnpj" size="30" maxlength="14"/></p></div></td>      
    </tr>
    <tr>
      <td height="28" colspan="2" align="center" valign="top"><html:submit value="Buscar"/></td>
    </tr>
    <tr>        
    <tr>
      <td height="30" colspan="2" align="center" valign="bottom"><span class="txtpequeno">2008 - Sebrae/GO - Financeiro - Todos os direitos reservados. </span></td>
    </tr>
  </table>
  </td>
    </tr>
    <ajax:autocomplete 
			source="nome1" 
			target="cpf1" 
			baseUrl="${pageContext.request.contextPath}/principal.view" 
			className="autocomplete"			 
			indicator="indicator" 
			parameters="nome=${nome1}"
			minimumCharacters="1" 
			parser="new ResponseXmlToHtmlListParser()"></ajax:autocomplete>
  </table>
</html:form>
</body>
</html>

minha classe java

package com.financeiro.servlet;

import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.ajaxtags.helpers.AjaxXmlBuilder;
import org.ajaxtags.servlets.BaseAjaxServlet;

public class AutoCompleteServlet extends BaseAjaxServlet {
	
	public String getXmlContent(HttpServletRequest request, HttpServletResponse response) throws Exception{
		
		List items = new ArrayList();
		items.add("ababba");
		items.add("ababbadsad");
		items.add("ababbabxvxbvxb");
		items.add("ababbasadasd");
		items.add("ababbazvzxvzv");
		items.add("ababaaavvvaa");
		items.add("accccaacbbbb");
		items.add("accccaacvv");
		items.add("accccaaccccc");
		items.add("accccaacaaaa");
		items.add("fffccjjjjss");
		items.add("ffetrwer");
		items.add("fwtrwer");
		items.add("fwerqwrqwr");
		
		System.out.println("ENTROU");
		
		AjaxXmlBuilder xml = new AjaxXmlBuilder();	
				
		xml.addItems(items, "nome","nome");
		
		return xml.toString();
	}

}

bom se puderem me ajudar e ainda gostaria de saber o que significa esse .view. Grato.