Fala galera, blz?
Seguinte, tenho uma aplicação que usa Ajax e Struts e to tendo um problema quando executo ela no Internet Explorer.
Os campos que utilizam o autocomplete estão tendo o seguinte comportamento
- quando a consulta retorna mais de um item, a sugestão é exibida normalmente
- quando a consulta retorna mais de um item, a sugestão não é exibida
O engraçado é que no Fire Fox funciona beleza. SÓ NA BOSTA DO IE QUE NUM FUNCIONA!
Os códigos são os seguintes
Tela contendo o campo text que utiliza o recurso de autocomplete
<html:hidden property="clienteForm.id" styleId="idCliente"/>
<html:text property="clienteForm.nome" styleId="nomeCliente"/>
<ajax:autocomplete
source="nomeCliente"
target="idCliente"
baseUrl='ManterClienteAction.do?acao=listarCliente'
className="autocomplete"
indicator="indicator"
minimumCharacters="1"
parser="new ResponseXmlToHtmlListParser()" />
Código da action
public ActionForward listarCliente( ActionMapping mapping
, ActionForm form
, HttpServletRequest request
, HttpServletResponse response) {
try {
String nomeCliente = request.getParameter("clienteForm.nome");
Collection<Cliente> list =
clienteService.findClienteByNome(nomeCliente);
request.setAttribute( "list",
new AjaxXmlBuilder).addItemslist, "nome", "id"));
}
catch(Exception e) {
log.error(e);
notifyErro(e, request);
}
return mapping.findForward("ShowXML");
}
Configuração do struts-config
<global-forwards>
<forward name="ShowXML" path="ShowXML.jsp"/>
</global-forwards>
Tela que recebe o forward pelo struts-config (ShowXML.jsp)
<%response.setContentType("text/xml");%>${list}
Valeu ai!
Abs