O método buscaEstados da classe DAO esta funcionando, fiz o teste separado imprimindo no console, esta ok.
Minha dificuldade então é fazer com que os estados seja carregados no combobox usando JSP, JSTL e Servlet.
P.S não quero ter que misturar código Java dentro do JSP, por isso preferi usar JSTL que faz forEarch e no meu Servlet coloquei o código abaixo.
Servlet
String nome = request.getParameter("nome");
String email = request.getParameter("email");
String fone = request.getParameter("cel");
String siglauf = request.getParameter("states");
pd = new PessoaDAO();
List<Estados> listaestados = pd.buscaEstados(); //executa o método da classe DAO retornando uma lista
request.setAttribute("listaestados", listaestados); //joga atribuição para ser usado no JSTL no JSP forEarch conforme segue
JSP
<select name="states">
<c:forEach var="listaestados" items="${listaestados}" >
<option value="${listaestados.uf}">
<c:out value="${listaestados.uf} - " />
<c:out value="${listaestados.nomeEstado}" />
</option>
</c:forEach>
</select>
Mas nesse caso não esta sendo carregados os estados no combobox, só depois da requisição.
Então é isso, se puder ajudar agradeço.
Obrigado.
Veja se consegue ajudar na seguinte situação.Tipo consegui fazer pegar os dados do banco no combobox, mas só fica depois que preenche os campos e clica no botão, ou seja, depois da requisição, mas o correto é visualizar os dados junto com o formulário.Segue parte dos fontes que estou fazendo separadoEntidadepackage br.com.saitam.modelo;public class Estados {private String uf;private String nomeEstado;public String getUf(){return uf;}public void setUf(String uf2){this.uf = uf2;}public String getNomeEstado(){return nomeEstado;}public void setNomeEstado(String nomeEstado2){this.nomeEstado = nomeEstado2;}}DAOpublic List<Estados> buscaEstados() throws Exception{open();String sqlEstados = "SELECT uf, desc_uf from estados";stmt = con.prepareStatement(sqlEstados);rs = stmt.executeQuery();List<Estados> ListaEstados = new ArrayList<Estados>();while(rs.next()){Estados e = new Estados();e.setUf(rs.getString("uf"));e.setNomeEstado(rs.getString("desc_uf"));ListaEstados.add(e);}close();return ListaEstados;}Servletprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{try{String nome = request.getParameter("nome");String email = request.getParameter("email");String fone = request.getParameter("cel");String siglauf = request.getParameter("states");pd = new PessoaDAO();listaestados = pd.buscaEstados();request.setAttribute("listaestados", listaestados);request.getRequestDispatcher("cadastro.jsp").forward(request, response);if(nome == null || email == null || fone == null){request.setAttribute("msg", "Erro campos não preenchidos!");request.getRequestDispatcher("cadastro.jsp").forward(request, response);}else{e = new Estados();p = new Pessoa(nome,email,fone,e.setUf(siglauf)); /salva chave estrangeira fk_uf na table pessoa com relacionamento table estadospd = new PessoaDAO();pd.cadastro(p);request.setAttribute("msg", "Gravado com sucesso!");request.getRequestDispatcher("cadastro.jsp").forward(request, response);}}catch (Exception e) {request.setAttribute("msg", "Erro: " + e.getMessage());request.getRequestDispatcher("cadastro.jsp").forward(request, response);}}}JSP com JSTL<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html><html lang="pt-BR"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Cadastro de Contatos</title></head><body><h2>Cadastrar</h2><form method="POST" action="EnviarDados"><label for="nome">Nome: </label><input type="text" id="nome" required name="nome"> <br><label for="email">E-mail: </label><input type="email" id="email" required name="email"> <br><label for="cel">Celular:(ddd) xxxx-xxxx </label> <input type="tel" id="cel" required name="cel" pattern="\([0-9]{2}\)[\s][0-9]{4}-[0-9]{4}"><br><label for="states">Estados: </label><select name="states"><c:forEach var="listaestados" items="${listaestados}" ><option value="${listaestados.uf}"><c:out value="${listaestados.uf} - " /><c:out value="${listaestados.nomeEstado}" /></option></c:forEach></select> <br><br><input type="submit" value="Cadastrar"><input type="reset" value="Limpar"> <br></form><br> ${msg}</body></html>Então, olhe com calma os fontes acima e informe correção.valeu!
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
0 comentários:
Postar um comentário