Escolar Documentos
Profissional Documentos
Cultura Documentos
Combos Dependentes
Por Alexandre Soli
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
Como fazer?
► Coloque a entrada abaixo no dwr.xml.
<dwr>
<allow>
<!-- Irá responder as requisicoes AJAX para o exemplo de combos dependentes -->
<create creator="new" javascript="CombosDependentesLookup">
<param name="class" value="br.com.neoimage.CombosDependentesLookup" />
</create>
</allow>
</dwr>
► Crie a classe Estado
package br.com.neoimage.localizacao;
import java.util.ArrayList;
import java.util.List;
// 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;
}
► Crie a classe Cidade
package br.com.neoimage.localizacao;
import java.util.ArrayList;
import java.util.List;
if (estado.getCodigo().equals(24)) {
cidade.setCodigo(1);
cidade.setNome("ANGRA DOS REIS");
listaCidades.add(cidade);
cidade = new Cidade();
cidade.setCodigo(2);
cidade.setNome("APERIBÉ");
listaCidades.add(cidade);
listaCidades.add(cidade);
} else if (estado.getCodigo().equals(12)) {
cidade.setCodigo(21);
cidade.setNome("PRESIDENTE PRUDENTE");
listaCidades.add(cidade);
cidade = new Cidade();
cidade.setCodigo(22);
cidade.setNome("ADAMANTINA");
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;
<label>Cidades</label>
<select id="comboCidades" >
<option value="0">Selecione...</option>
<c:forEach var="cidade" items="${listaCidades}">
<optionvalue="<c:out value="${cidade.codigo}" />"><c:out value="${cidade.nome}" />
</option>
</c:forEach>
</select>
</body>
</html>
► Testando as combos dependentes
http://localhost:8080/tutorial-dwr/servlet/ServletCombosDependentes
http://alexandresoli.wordpress.com