SlideShare una empresa de Scribd logo
1 de 12
Tutorial DWR Combos Dependentes Por Alexandre Soli
Ferramentas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo  – Estados vs Cidades ,[object Object],Como fazer?
[object Object],<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>
[object Object],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... }
[object Object],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; } }
[object Object],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... }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],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); } }
[object Object],<%@ 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>
[object Object],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.
Dúvidas ou comentários? ,[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScriptClaudio Gamboa
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáZarathon Maia
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Eduardo Mendes
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 
T11_LM3: Subalgoritmose colisões (2013-2014)
T11_LM3: Subalgoritmose colisões (2013-2014)T11_LM3: Subalgoritmose colisões (2013-2014)
T11_LM3: Subalgoritmose colisões (2013-2014)Carlos Santos
 
Dicas e Truques TypeScript
Dicas e Truques TypeScriptDicas e Truques TypeScript
Dicas e Truques TypeScriptLoiane Groner
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09Carlos Santos
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Thyago Maia
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsEduardo Mendes
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Thyago Maia
 
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scopeCarlos Santos
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Thyago Maia
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Thyago Maia
 

La actualidad más candente (20)

Java script1
Java script1Java script1
Java script1
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc Quixadá
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
 
T11_LM3: Subalgoritmose colisões (2013-2014)
T11_LM3: Subalgoritmose colisões (2013-2014)T11_LM3: Subalgoritmose colisões (2013-2014)
T11_LM3: Subalgoritmose colisões (2013-2014)
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Dicas e Truques TypeScript
Dicas e Truques TypeScriptDicas e Truques TypeScript
Dicas e Truques TypeScript
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09
 
Event-based Asynchronous Pattern (EAP)
Event-based Asynchronous Pattern (EAP)Event-based Asynchronous Pattern (EAP)
Event-based Asynchronous Pattern (EAP)
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
 
PowerShell
PowerShellPowerShell
PowerShell
 
Ruby (1)
Ruby (1)Ruby (1)
Ruby (1)
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e Taglibs
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 

Destacado

Manual riesgos-construccion-alop
Manual riesgos-construccion-alopManual riesgos-construccion-alop
Manual riesgos-construccion-alopJUAN URIBE
 
Condiciones para la construccion de una obra
Condiciones para la construccion de una obraCondiciones para la construccion de una obra
Condiciones para la construccion de una obraJosé Carlos Torrez
 
Programa escolar de protección civil SEV 2012
Programa escolar de protección civil SEV 2012 Programa escolar de protección civil SEV 2012
Programa escolar de protección civil SEV 2012 Delega Martinez
 
Inspector de obra de una construcción civil
Inspector de obra de una construcción civilInspector de obra de una construcción civil
Inspector de obra de una construcción civilRafael Bermudez
 
Programa de protección civil
Programa de protección civilPrograma de protección civil
Programa de protección civilAidde
 
Agrietamiento de fisuras
Agrietamiento de fisurasAgrietamiento de fisuras
Agrietamiento de fisurasJohan Pintado
 
Historia de la protección civil en el mundo.
Historia de la protección civil en el mundo.Historia de la protección civil en el mundo.
Historia de la protección civil en el mundo.faniagarcia
 
Concreto armado- estructuras simples
Concreto armado- estructuras simplesConcreto armado- estructuras simples
Concreto armado- estructuras simplesRoCa BuRon
 
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010Mario Meneses
 
Patologías en el concreto
Patologías en el concretoPatologías en el concreto
Patologías en el concretovidalrm
 
Nom 026
Nom 026Nom 026
Nom 026Nym UM
 
Diapositiva concreto armado
Diapositiva concreto armadoDiapositiva concreto armado
Diapositiva concreto armadocarlysybarra
 
Manual maestro de obra construccion
Manual maestro de obra construccionManual maestro de obra construccion
Manual maestro de obra construccionamautavitarte
 
Manual de seguridad-impresión
Manual de seguridad-impresiónManual de seguridad-impresión
Manual de seguridad-impresiónsetelsectorseis
 

Destacado (20)

Tutorial Dwr - Configuração e Uso
Tutorial Dwr - Configuração e UsoTutorial Dwr - Configuração e Uso
Tutorial Dwr - Configuração e Uso
 
Obra de construcción
Obra de construcciónObra de construcción
Obra de construcción
 
Manual riesgos-construccion-alop
Manual riesgos-construccion-alopManual riesgos-construccion-alop
Manual riesgos-construccion-alop
 
Condiciones para la construccion de una obra
Condiciones para la construccion de una obraCondiciones para la construccion de una obra
Condiciones para la construccion de una obra
 
Programa escolar de protección civil SEV 2012
Programa escolar de protección civil SEV 2012 Programa escolar de protección civil SEV 2012
Programa escolar de protección civil SEV 2012
 
Inspector de obra de una construcción civil
Inspector de obra de una construcción civilInspector de obra de una construcción civil
Inspector de obra de una construcción civil
 
Ejemplos de grietas
Ejemplos de grietasEjemplos de grietas
Ejemplos de grietas
 
Programa de protección civil
Programa de protección civilPrograma de protección civil
Programa de protección civil
 
Exposicion agrietamiento
Exposicion agrietamientoExposicion agrietamiento
Exposicion agrietamiento
 
Agrietamiento de fisuras
Agrietamiento de fisurasAgrietamiento de fisuras
Agrietamiento de fisuras
 
Historia de la protección civil en el mundo.
Historia de la protección civil en el mundo.Historia de la protección civil en el mundo.
Historia de la protección civil en el mundo.
 
Concreto armado- estructuras simples
Concreto armado- estructuras simplesConcreto armado- estructuras simples
Concreto armado- estructuras simples
 
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010
Guia Informativa de la Norma Oficial Mexicana NOM-002-STPS-2010
 
Patologías en el concreto
Patologías en el concretoPatologías en el concreto
Patologías en el concreto
 
Nom 026
Nom 026Nom 026
Nom 026
 
Diapositiva concreto armado
Diapositiva concreto armadoDiapositiva concreto armado
Diapositiva concreto armado
 
Nom 002 stps 2010
Nom 002 stps 2010Nom 002 stps 2010
Nom 002 stps 2010
 
Manual maestro de obra construccion
Manual maestro de obra construccionManual maestro de obra construccion
Manual maestro de obra construccion
 
Diapositivas de concreto
Diapositivas de concretoDiapositivas de concreto
Diapositivas de concreto
 
Manual de seguridad-impresión
Manual de seguridad-impresiónManual de seguridad-impresión
Manual de seguridad-impresión
 

Similar a Tutorial Dwr - Combos Dependentes

Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
 
03 - Formulários &amp; Dados
03 - Formulários &amp; Dados03 - Formulários &amp; Dados
03 - Formulários &amp; DadosMarcio Marinho
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaMilfont Consulting
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCAntonio Passos
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Bruno Borges
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebBruno Borges
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Conhecendo o Struts 2 - Java Tech Day 2007
Conhecendo o Struts 2 - Java Tech Day 2007Conhecendo o Struts 2 - Java Tech Day 2007
Conhecendo o Struts 2 - Java Tech Day 2007Jaime Schettini
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da WebJose Berardo
 

Similar a Tutorial Dwr - Combos Dependentes (20)

Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
03 - Formulários &amp; Dados
03 - Formulários &amp; Dados03 - Formulários &amp; Dados
03 - Formulários &amp; Dados
 
Spring Capitulo 02
Spring Capitulo 02Spring Capitulo 02
Spring Capitulo 02
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma prática
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBC
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6
 
Beagajs
BeagajsBeagajs
Beagajs
 
Jdbc e hibernate
Jdbc e hibernateJdbc e hibernate
Jdbc e hibernate
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Aula 2 - ASP
Aula 2 - ASPAula 2 - ASP
Aula 2 - ASP
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento Web
 
Javascript Ilegível
Javascript IlegívelJavascript Ilegível
Javascript Ilegível
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Conhecendo o Struts 2 - Java Tech Day 2007
Conhecendo o Struts 2 - Java Tech Day 2007Conhecendo o Struts 2 - Java Tech Day 2007
Conhecendo o Struts 2 - Java Tech Day 2007
 
JPA - Java Persistence API
JPA - Java Persistence APIJPA - Java Persistence API
JPA - Java Persistence API
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da Web
 
Facelets
FaceletsFacelets
Facelets
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 

Tutorial Dwr - Combos Dependentes

Notas del editor

  1. s
  2. s