Tutorial DWR Combos Dependentes Por Alexandre Soli
Ferramentas <ul><li>A versão do DWR utilizada neste tutorial e a 2.0.5 (funciona com Java 1.3 em diante) e pode ser encont...
Exemplo  – Estados vs Cidades <ul><li>Problema:  Você precisa que sua lista de cidades mude de acordo com o estado selecio...
<ul><li>Coloque a entrada abaixo no dwr.xml. </li></ul><dwr> <allow>  <!-- Declaracao da classe que ira responder as requi...
<ul><li>Crie a classe Estado </li></ul>package br.com.neoimage.localizacao; import java.util.ArrayList; import java.util.L...
<ul><li>Crie a classe CombosDependentesLookup </li></ul>package br.com.neoimage; import java.util.ArrayList; import java.u...
<ul><li>Crie a classe Cidade </li></ul>package br.com.neoimage.localizacao; import java.util.ArrayList; import java.util.L...
<ul><li>Adicione a entrada abaixo no web.xml: </li></ul><ul><li><servlet> </li></ul><ul><li><servlet-name>ServletCombosDep...
<ul><li>Crie a classe  ServletCombosDependentes </li></ul>package br.com.neoimage; import java.io.IOException; import java...
<ul><li>Crie o jsp combos-dependentes.jsp </li></ul><%@ taglib uri= &quot;http://java.sun.com/jsp/jstl/core&quot;  prefix=...
<ul><li>Testando as combos dependentes </li></ul>Inicie o servidor e aponte para o endereço abaixo http://localhost:8080/t...
Dúvidas ou comentários? <ul><li>Envie um email para  [email_address]   </li></ul><ul><li>Visite meu blog para mais dicas e...
Upcoming SlideShare
Loading in …5
×

Tutorial Dwr - Combos Dependentes

1,709 views
1,642 views

Published on

Tutorial DWR mostrando como construir combos dependentes.

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,709
On SlideShare
0
From Embeds
0
Number of Embeds
484
Actions
Shares
0
Downloads
70
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • s
  • s
  • Tutorial Dwr - Combos Dependentes

    1. 1. Tutorial DWR Combos Dependentes Por Alexandre Soli
    2. 2. Ferramentas <ul><li>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: </li></ul><ul><li>http://directwebremoting.org/dwr/download </li></ul><ul><li>TOMCAT 5.5 como servidor web </li></ul><ul><li>Java 6 </li></ul><ul><li>Eclipse 3.4.1 </li></ul><ul><li>Se você não sabe por onde começar, dê uma olhada no tutorial de configuração e uso básico </li></ul><ul><li>http://alexandresoli.wordpress.com/2009/05/14/tutorial-dwr/ </li></ul>
    3. 3. Exemplo – Estados vs Cidades <ul><li>Problema: Você precisa que sua lista de cidades mude de acordo com o estado selecionado. </li></ul>Como fazer?
    4. 4. <ul><li>Coloque a entrada abaixo no dwr.xml. </li></ul><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>
    5. 5. <ul><li>Crie a classe Estado </li></ul>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... }
    6. 6. <ul><li>Crie a classe CombosDependentesLookup </li></ul>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; } }
    7. 7. <ul><li>Crie a classe Cidade </li></ul>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... }
    8. 8. <ul><li>Adicione a entrada abaixo no web.xml: </li></ul><ul><li><servlet> </li></ul><ul><li><servlet-name>ServletCombosDependentes</servlet-name> </li></ul><ul><li><servlet-class> br.com.neoimage.ServletCombosDependentes</servlet-class> </li></ul><ul><li></servlet> </li></ul><ul><li><servlet-mapping> </li></ul><ul><li><servlet-name>ServletCombosDependentes</servlet-name> </li></ul><ul><li><url-pattern>/servlet/*</url-pattern> </li></ul><ul><li></servlet-mapping> </li></ul>
    9. 9. <ul><li>Crie a classe ServletCombosDependentes </li></ul>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); } }
    10. 10. <ul><li>Crie o jsp combos-dependentes.jsp </li></ul><%@ 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>
    11. 11. <ul><li>Testando as combos dependentes </li></ul>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.
    12. 12. Dúvidas ou comentários? <ul><li>Envie um email para [email_address] </li></ul><ul><li>Visite meu blog para mais dicas e tutorias </li></ul><ul><li>http://alexandresoli.wordpress.com </li></ul>

    ×