SlideShare ist ein Scribd-Unternehmen logo
1 von 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]

Weitere ähnliche Inhalte

Was ist angesagt?

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
Eduardo Mendes
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
Afonso 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
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09
Carlos Santos
 
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
Eduardo Mendes
 
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
Carlos Santos
 

Was ist angesagt? (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
 

Andere mochten auch

Manual riesgos-construccion-alop
Manual riesgos-construccion-alopManual riesgos-construccion-alop
Manual riesgos-construccion-alop
JUAN URIBE
 
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
 
Nom 026
Nom 026Nom 026
Nom 026
Nym UM
 
Manual de seguridad-impresión
Manual de seguridad-impresiónManual de seguridad-impresión
Manual de seguridad-impresión
setelsectorseis
 

Andere mochten auch (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
 

Ähnlich wie Tutorial Dwr - Combos Dependentes

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
Milfont Consulting
 
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
Bruno Borges
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Tutorial Dwr - Combos Dependentes

Hinweis der Redaktion

  1. s
  2. s