Dae galera !!
Estou desenvolvendo uma aplicação em struts 1 e meu objetivo era colocar um auto-complete no campo da minha JSP (nome do cliente)
Pesquisei bastante e vi que ia ter que utilizar o JSON para passar os nomes dos cliente do BD para a tela através da minha action…
Segue o código abaixo.
JQuery -> http://dpaste.com/797388/
Campo -> http://dpaste.com/796015/
Action -> http://dpaste.com/796016/
Form -> http://dpaste.com/796017
Porém nao esta funcionando… alguém sabe me informar onde eu fiz cagada?
Valeu
Eu acho que você tem que passar findForward null para não trocar a página.
Muda também o seu response.setContentType( “text/html” ) para aplication/json. Acho que é esse o nome.
lele, fiz as alterações e nada adiantou…
na verdade parece ele nao esta realizando nenhuma ação, pq mesmo antes de alterar o retorno para null ele nao chamava a pagina
Ele não está entrando na action não ?
mostra o seu struts-config.xml
Ele entra sim, pois eu tenho outros metodos da action que eu estou conseguindo usar de boa… acredito que o problema nao seja este…
Como este é meu primeiro contato com o json fico inseguro… creio que o problema esteja nele ou na função jquery
segue meu struts-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="clienteForm" type="br.com.systemofficecarweb.cliente.action_form.ClienteForm"/>
<form-bean name="empresaForm" type="br.com.systemofficecarweb.empresa.action_form.EmpresaForm"/>
<form-bean name="fornecedorForm" type="br.com.systemofficecarweb.fornecedor.action_form.FornecedorForm"/>
</form-beans>
<action-mappings>
<action path="/clienteAction"
type="br.com.systemofficecarweb.cliente.action_form.ClienteAction"
name="clienteForm"
parameter="acao"
scope="session">
<forward name="clienteJSP" path="/cliente.jsp"/>
<forward name="clienteSelecionadoJSP" path="/clienteSelecionado.jsp"/>
<forward name="tabelaClientesJSP" path="/tabelaClientes.jsp"/>
</action>
<action path="/empresaAction"
type="br.com.systemofficecarweb.empresa.action_form.EmpresaAction"
name="empresaForm"
parameter="acao"
scope="session">
<forward name="empresaJSP" path="/empresa.jsp"/>
</action>
<action path="/fornecedorAction"
type="br.com.systemofficecarweb.fornecedor.action_form.FornecedorAction"
name="fornecedorForm"
parameter="acao"
scope="session">
<forward name="fornecedorJSP" path="/fornecedor.jsp"/>
<forward name="fornecedorSelecionadoJSP" path="/fornecedorSelecionado.jsp"/>
</action>
</action-mappings>
<message-resources parameter="MessageResources"/>
</struts-config>
Faz umas coisas
1- Coloca o find Forward como null.
2-Muda o response.setContentType( “text/html” ); para response.setContentType( “application/json” );
3-Use o firebug e coloca um breakpoint para ver a sua variável itens está voltando como um objeto json
E o que esse trecho de código faz ?
response(items);
Está dentro da chamada ajax.
Um amigo meu que ja programa a um bom tempo me mandou um exemplo do codigo… eu apenas adaptei ao meu projeto hehe e isso ja veio no codigo… na verdade nao entendo muito de ajax/json
Agora vou utilizar o firebug como vc disse para verificar…