Combobox com List

6 respostas
A

Bom dia
gostaria de saber a maneira + facil de colocar uma list em um combobox

Muito obrigado

6 Respostas

ViniGodoy

Como assim?

von.juliano

No Servlet:

Pessoa p = new Pessoa(rg, nome) request.setAttribute("lista", listaDePessoas);Aí, na jsp:

<select name="pessoa"> <c:forEach items="${lista}" var="pessoa"> <option value="${pessoa.rg}">${pessoa.nome}</option> </c:forEach> </select>Pesquise que no fórum tem muito material sobre isso.

Flw! :thumbup:

fabricioempresa
listModel = new DefaultListModel();
        for (int i = 0; i < 8; i++) {
            try {

                int sens = i + 101;
               
                listModel.addElement(sens);
            } catch (SensorDaoException ex) {
                Logger.getLogger(ReportTabView.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        ApplicationView.getInstance().getSensors().setModel(listModel);

Exemplo que funciona

E

No meu aplicativo eu não tenho Servlet, eu faço o seguinte e não funciona.

No DÃO:

public AdicionarInteressado buscaPorRegistro(Long registro){
		
		try{
			PreparedStatement stmt = this.connection.prepareStatement("select * from tab_parte_interessada");
			ResultSet rs = stmt.executeQuery();
			
			while(rs.next())
			{
				
				if(registro == rs.getLong("registro"))
				{
					//criando objeto interessado
					AdicionarInteressado interessado = new AdicionarInteressado();
					interessado.setRegistro(rs.getLong("registro"));
					interessado.setNomeempresa(rs.getString("nomeempresa"));
					
					return interessado;
				}
			}
				return null;
			}catch(SQLException e){
				throw new RuntimeException(e);
			}	
	}
	
	public List<AdicionarInteressado> lista(){
		try{
			List<AdicionarInteressado> interessados = new ArrayList<AdicionarInteressado>();
			PreparedStatement stmt = this.connection.prepareStatement
			("select * from tab_parte_interessada");
			ResultSet rs = stmt.executeQuery();
			
			while(rs.next())
			{
				//criando objeto interessado
				AdicionarInteressado interessado = new AdicionarInteressado();
				interessado.setRegistro(rs.getLong("registro"));
				interessado.setNomeempresa(rs.getString("nomeempresa"));

				//adicionar objeto a lista
				interessados.add(interessado);
			}
			rs.close();
			stmt.close();
			return interessados;
	
			}catch(SQLException e){
				throw new RuntimeException(e);
		}
	}

No JSP:

Empresa
		<select name="interessado">  
        		<c:forEach items="${interessados}" var="interessado">  
            			<option value="${interessado.nomeempresa}">${interessado.nomeempresa}</option>  
       			</c:forEach>  
   		</select><br />

Alguma tem alguma sugestão para me ajudar???

R

Não sei se vai lhe servir, mas em JSF eu trabalho com combo assim:

List<SelectItem> listaItem = new LinkedList<SelectItem>(); //Lista que vai no combo

listaItem.add(new SelectItem(1, "Numero 1")); //Item do combo, sendo "value", "label"
listaItem.add(new SelectItem(2, "Numero 2"));

Faz um get pra página "ver" a list e depois poe la na página (eu uso .xhtml):

<h:selectOneMenu value="#{seuController.entidade.campo}">
    <f:selectItem itemLabel="Escolha..."/> //Um labelzihno de escolha...
    <f:selectItems value="#{seuController.listaItem}"/> //Aqui entra a lista
</h:selectOneMenu>

Se quiser pegar itens de BD, só fazer um for/Iterator que resolve...

E

Eu estou pegando os dados do BD, eu acho que o jeito vai ser fazer uma servlet, e usar um for lá dentro, acho que este List que eu usei está errado, vocês concordam???

Criado 21 de julho de 2010
Ultima resposta 29 de out. de 2010
Respostas 6
Participantes 6