Tutorial Dwr - Combos Dependentes

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Tutorial Dwr - Combos Dependentes - Presentation Transcript

    1. Tutorial DWR Combos Dependentes Por Alexandre Soli
    2. Ferramentas
      • A versão do DWR utilizada neste tutorial e a 2.0.5 (funciona com Java 1.3 em diante) e pode ser encontrada no link abaixo:
      • http://directwebremoting.org/dwr/download
      • TOMCAT 5.5 como servidor web
      • Java 6
      • Eclipse 3.4.1
      • Se você não sabe por onde começar, dê uma olhada no tutorial de configuração e uso básico
      • http://alexandresoli.wordpress.com/2009/05/14/tutorial-dwr/
    3. Exemplo – Estados vs Cidades
      • Problema: Você precisa que sua lista de cidades mude de acordo com o estado selecionado.
      Como fazer?
      • Coloque a entrada abaixo no dwr.xml.
      <dwr> <allow> <!-- Declaracao da classe que ira responder as requisicoes AJAX --> <create creator= &quot;new&quot; javascript= &quot;ExemploLookup&quot; > <param name= &quot;class&quot; value= &quot;br.com.neoimage.ExemploLookup&quot; /> </create> <!-- Irá responder as requisicoes AJAX para o exemplo de combos dependentes --> <create creator= &quot;new&quot; javascript= &quot;CombosDependentesLookup&quot; > <param name= &quot;class&quot; value= &quot;br.com.neoimage.CombosDependentesLookup&quot; /> </create> <!-- Utilizado para conversao de objetos javascript/java --> <convert converter= &quot;bean&quot; match= &quot;br.com.neoimage.usuario.Usuario&quot; /> <convert converter= &quot;bean&quot; match= &quot;br.com.neoimage.localizacao.Estado&quot; /> <convert converter= &quot;bean&quot; match= &quot;br.com.neoimage.localizacao.Cidade&quot; /> </allow> </dwr>
      • Crie a classe Estado
      package br.com.neoimage.localizacao; import java.util.ArrayList; import java.util.List; public class Estado { private Integer codigo; private String nome; public List<Estado> listar() { List<Estado> listaEstados = new ArrayList<Estado>(); Estado estado = new Estado(); estado.setCodigo(12); estado.setNome(&quot;São Paulo&quot;); listaEstados.add(estado); estado.setCodigo(24); estado.setNome(&quot;Rio de Janeiro&quot;); listaEstados.add(estado); return listaEstados; } // getters e setters... }
      • Crie a classe CombosDependentesLookup
      package br.com.neoimage; import java.util.ArrayList; import java.util.List; import br.com.neoimage.localizacao.Cidade; import br.com.neoimage.localizacao.Estado; public class CombosDependentesLookup { public List<Cidade> obterCidades(Estado estado) { Cidade cidade = new Cidade(); List<Cidade> listaCidades = new ArrayList<Cidade>(); listaCidades = cidade.listar(estado); return listaCidades; } }
      • Crie a classe Cidade
      package br.com.neoimage.localizacao; import java.util.ArrayList; import java.util.List; public class Cidade { private Integer codigo; private String nome; public List<Cidade> listar(Estado estado) { List<Cidade> listaCidades = new ArrayList<Cidade>(); Cidade cidade = new Cidade(); if (estado.getCodigo().equals(24)) { cidade.setCodigo(1); cidade.setNome(&quot;ANGRA DOS REIS&quot;); listaCidades.add(cidade); cidade = new Cidade(); cidade.setCodigo(2); cidade.setNome(&quot;APERIBÉ&quot;); listaCidades.add(cidade); listaCidades.add(cidade); } else if (estado.getCodigo().equals(12)) { cidade.setCodigo(21); cidade.setNome(&quot;PRESIDENTE PRUDENTE&quot;); listaCidades.add(cidade); cidade = new Cidade(); cidade.setCodigo(22); cidade.setNome(&quot;ADAMANTINA&quot;); listaCidades.add(cidade); listaCidades.add(cidade); } return listaCidades; } // getters e setters... }
      • Adicione a entrada abaixo no web.xml:
      • <servlet>
      • <servlet-name>ServletCombosDependentes</servlet-name>
      • <servlet-class> br.com.neoimage.ServletCombosDependentes</servlet-class>
      • </servlet>
      • <servlet-mapping>
      • <servlet-name>ServletCombosDependentes</servlet-name>
      • <url-pattern>/servlet/*</url-pattern>
      • </servlet-mapping>
      • Crie a classe ServletCombosDependentes
      package br.com.neoimage; import java.io.IOException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.neoimage.localizacao.Estado; public class ServletCombosDependentes extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Estado estado = new Estado(); List<Estado> listaEstados = estado.listar(); request.setAttribute(&quot;listaEstados&quot;, listaEstados); RequestDispatcher rd = request.getRequestDispatcher(&quot;/combos-dependentes.jsp&quot;); rd.forward(request, response); } }
      • Crie o jsp combos-dependentes.jsp
      <%@ taglib uri= &quot;http://java.sun.com/jsp/jstl/core&quot; prefix= &quot;c&quot; %> <html> <head> <script type= 'text/javascript' src= '/tutorial-dwr/dwr/interface/CombosDependentesLookup.js' ></script> <script type= 'text/javascript' src= '/tutorial-dwr/dwr/engine.js' ></script> <script type= 'text/javascript' src= '/tutorial-dwr/dwr/util.js' ></script> <script language= &quot;javascript&quot; > function carregarCidades() { var estado = new Object(); estado.codigo = document.getElementById(&quot;comboEstados&quot;). value ; CombosDependentesLookup . obterCidades (estado, function (data) { dwr.util. removeAllOptions (&quot;comboCidades&quot;); dwr.util. addOptions (&quot;comboCidades&quot;, {&quot;0&quot;:&quot;Selecione...&quot;}); dwr.util. addOptions (&quot;comboCidades&quot;, data, &quot;codigo&quot;, &quot;nome&quot;); }); } </script> </head> <body> <label>Estados</label> <select name= &quot;comboEstados&quot; id= &quot;comboEstados&quot; onchange= &quot;carregarCidades();&quot; > <option value= &quot;0&quot; >Selecione...</option> <c:forEach var= &quot;estado&quot; items=&quot;${listaEstados}&quot;> <optionvalue=&quot;<c:out value=&quot;${estado.codigo}&quot; />&quot;><c:out value=&quot;${estado.nome}&quot; /> </option> </c:forEach> </select> <label>Cidades</label> <select id= &quot;comboCidades&quot; > <option value= &quot;0&quot; >Selecione...</option> <c:forEach var= &quot;cidade&quot; items=&quot;${listaCidades}&quot;> <optionvalue=&quot;<c:out value=&quot;${cidade.codigo}&quot; />&quot;><c:out value=&quot;${cidade.nome}&quot; /> </option> </c:forEach> </select> </body> </html>
      • Testando as combos dependentes
      Inicie o servidor e aponte para o endereço abaixo http://localhost:8080/tutorial-dwr/servlet/ServletCombosDependentes Os valores da combo de cidades irá mudar de acordo com o Estado selecionado.
    4. Dúvidas ou comentários?
      • Envie um email para [email_address]
      • Visite meu blog para mais dicas e tutorias
      • http://alexandresoli.wordpress.com

    + Alexandre SoliAlexandre Soli, 6 months ago

    custom

    1010 views, 0 favs, 1 embeds more stats

    Tutorial DWR mostrando como construir combos depend more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1010
      • 851 on SlideShare
      • 159 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 26
    Most viewed embeds
    • 159 views on http://alexandresoli.wordpress.com

    more

    All embeds
    • 159 views on http://alexandresoli.wordpress.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories