Boa tarde Pessoal,
eu implementei o autocomplete do ajaxtags e funcionou legal, mas essa implementação era utilizando Servlets.
Então resolvi passar a servlet para Action (do struts)... funcionou até certo ponto, pois ao retornar a lista para o JSP,
o ajax nao conseguiu mostrar na tela. A lista foi carregada corretamente pelo meu serviço, mas nao consegui exibir o resultado na tela. Poderiam me ajudar?
Vejam só como ficou o meu sisteminha teste:
//Minha Action
public class ProdutoAutoCompleteAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
try{
//recupero o param
String dsItem = request.getParameter(“dsItem”).trim();
//Chamando serviço de consulta de países (funciona bem até aqui)
List list = service.buscaItemProduto(dsItem);
String xml = new AjaxXmlBuilder().addItems(list, “dsItem”, “cdItem”,true).toString();
//esse código estava no sample do ajaxtags (1.3) onde eu
// realizava um return xml;
//return xml;
request.setAttribute(“xml”, xml);
return null;
} catch (Exception e){
//Melhorar o tratamento de erro
log.error(e);
return null;
}}
}
E o meu struts-config ficou assim:
O código na jsp ficou igual ao que estava quando estava implementado em Servlet
<ajax:autocomplete source=“dsItem” target=“cdItem” baseUrl="/sistematest/autocompleteProduto.do"
className=“autocomplete” indicator=“indicatorProduto” minimumCharacters=“2” />
Quando estava funcionando (em Servlet) o código estava assim:
public class ProdutoAutoCompleteServlet extends BaseAjaxServlet{
protected static Log log = LogFactory.getLog(ExpectedException.class);
public String getXmlContent(HttpServletRequest request, HttpServletResponse response) throws Exception {
String xml = new String();
//recupero o param
String dsItem = request.getParameter(“dsItem”).trim();
try{
//Chamando serviço de consulta de países
List list = service.buscaItemProduto(dsItem);
xml = new AjaxXmlBuilder().addItems(list, “dsPais”, “cdPais”,true).toString();
return xml;
} catch (Exception e){
log.error(e);
return null;
}
}
E ainda tinha a configuração no web.xml para poder funcionar usando o servlet, mas acho que nao vem ao caso, pois eu acredito que o probema esteja no retorno do meu objeto do tipo list para o JSP.
Aguém poderia me dar uma luz ou algo parecido???
Muito Obrigado,
Al Bundy