Como criar um <select> com as opções vindo do BD

9 respostas
A

Estou criando uma tela em JSP para incluir Servidor, e nessa inclusão eu quero trazer o tecnico responsavel, e este vindo do BD (MySql) num do CheckBox.
Alguém pode me orientar?

9 Respostas

thiago_spdvr

Poderia exemplificar melhor ?

A

Eu quero trazer o nome dos tecnicos que estão no BD para um checkbox no JSP, para quando o usuario estiver cadastrando um servidor colocar um tecnico já existente.

thiago_spdvr

Vc pode retornar um ArrayList com os tecnicos e iterar entre eles adicionando um checkBox pra cada tecnico.

Esta utilizando MVC ?

A

Estou usando MVC. Tem como mandar este codigo, pois eu fiz com “for” e ficou dando erro.

luistiagos

coloca oq vc fez e o erro q deu…

A
Aqui eu pego a lista
<%@ page import="modelo.Usuario"%>
<%@ page import="java.util.ArrayList"%>	

<%!	ArrayList<Usuario> lista_usuario = null; %>

<%	HttpSession objSessao;
	objSessao = request.getSession();
	ArrayList <Usuario> lista_usuario = new ArrayList();
	lista_usuario = (ArrayList)objSessao.getAttribute("tokenListaUsuario");
%>

Aqui eu tentei fazer o combobox

color=#000080><strong>Nome do técnico:</strong></font> 
      
      
      <select name=tecnico>      &nbsp;&nbsp;&nbsp;&nbsp;<strong> 
      		
      			<%for (Usuario usuario : lista_usuario){%>	
  					<option> <%=usuario.getUsuario()%>
      			<%}%>
      </select>
erro
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: An exception occurred processing JSP page /cadastroserv.jsp at line 91

88:       
89:       <select name=tecnico>      &nbsp;&nbsp;&nbsp;&nbsp;<strong> 
90:       		
91:       			<%for (Usuario usuario : lista_usuario){%>	
92:   					<option> <%=usuario.getUsuario()%>
93:       			<%}%>
94:       </select>
thiago_spdvr

Essa página é bem simples, foi um exercicio da faculdade ! espero que ajude

<%@page contentType="text/html" pageEncoding="ISO-8859-1"%>
<%@ page import="br.edu.modelo.*,br.edu.controle.*, java.util.List" %>
<%! CtrBairro   ctrbai;
    List<Bairro>  lista;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <%--@ include file="index.jsp" --%>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%String pbairro = request.getParameter("txtbairro");
          if (pbairro==null)
              pbairro="";
        %>
        
    <form name="frmCons" method="POST">
        <table border="0">
            <tr>
                <td width="80px">Bairro:</td>
                <td><input type="text" name="txtbairro" size="40" value="<%= request.getParameter("txt_bairro")%>">
                    <input type="submit" value="Localizar" name="btnloc">
                </td>
            </tr>
        </table>
        <p><%
         if ((pbairro != null) && (!pbairro.isEmpty())) {%>
        <table border="1">
            <thead>
                <tr><th width="80">Código</th>
                    <th width="500">Bairro</th>
                    <th width="60">Sigla</th>
                    <th width="30">Teste</th>
                </tr>
            </thead>
        <tbody>
        <% ctrbai = new CtrBairro();
        lista = ctrbai.selecionarPorNome(pbairro);
        Bairro bai;
        for (int x = 0; x < lista.size(); x++){
            bai = lista.get(x);%>
        <tr>
            <td><%= bai.getCodbairro() %> </td>
            <td><%= bai.getBairro() %> </td>
            <td><%= bai.getSigla() %> </td>
            <td><input type="radio" ></td>
        </tr>
        <%} %>
    </tbody>
    </table>
    <%}%>
            
             
        </tbody>
</form>
    </body>
</html>
phmjunior

cara teu for tem q ser um negócio + ou - assim:

&lt;% 
for (int i=0; i &lt; quantidadeQueVoceQuer; i++)
{
%&gt;
seu option
&lt;%
}
%&gt;
J113

Cara sua lógica parece estar certa!

Em cima do seu exemplo eu fiz esse...
<%@ page import="java.util.ArrayList"%>     
   
 <%!  ArrayList lista_usuario = null; %>  
   
 <%     
     ArrayList<String>  lista_usuario = new ArrayList(); 
      lista_usuario.add("Jorge");
      
 %>  

 <select name=tecnico>            
               
                 <%for (String usuario : lista_usuario){%>      
                     <option> <%=usuario%>  </option>
                 <%}%>  
     </select>
Funcionou perfeitamente, mas vão umas sugestões... Para quê você instancia aqui?
ArrayList <Usuario> lista_usuario = new ArrayList();
Se a lista já vem do controle... Evite usar as classes implementadas como tipo, procure usar as interfaces, trabalhe sempre com as interfaces é uma boa prática! Não faca isso...
ArrayList<String>  lista_usuario = new ArrayList();

Faça assim...

List<String>  lista_usuario = new ArrayList();

Outra coisa, não guarde na sessão coisas que parecem servir apenas para request!

Abraço.

Criado 28 de outubro de 2009
Ultima resposta 28 de out. de 2009
Respostas 9
Participantes 5