Exibir Minha List em uma Combobox?

22 respostas
R

Pessoal! preciso exibir minha List em uma COMBOBOX!!!

Coisa simples!

alguem tem alguma ideia de como eu possa fazer isso???

output.add(categoria.getTitle());	
	    		 	 	    
}  
			 	
Collections.sort(output);
	 
	}

	for(int i = 0; i < output.size(); i++) {

%>


<table cellpadding="3" cellspacing="0" border="0">
	<tr>
		<td width="150" align="right">Assunto:</td>
		<td width="665">
		
		<select name="assunto" id="assunto">
		
			<option value="<%=output.get(i).toString()%>" > <%=output.get(i).toString()%> </option>
						
		</select></td>
	</tr>
</table>

<%}%>

22 Respostas

M

output contém String? Se for, faça isso:

<table cellpadding="3" cellspacing="0" border="0">  
     <tr>  
         <td width="150" align="right">Assunto:</td>  
         <td width="665">  
<select name="assunto" id="assunto">
<%
for (String s : output) {
%>
<option value="<%=s%>" > <%=s%> </option>
<%}%>
 </select></td>  
     </tr>  
 </table>

Teste o código acima.

R

Testei seu codigo cara!!!

agora deu um erro de jsp!
será que n ta rolando um conflito com aquele meu for ali encima???

respondendo sua pergunta
essa sua pergunta!!

essa minha List contem apenas strings mesmo cara!!!

contem 40 posições!!

o que seráá?

Desde ja muito obrigado!!!

List output 			= new ArrayList();
		String nomeTaxonomia 	= "Assuntos";
		String libraryConteudo 	= "IntranetContent";     
		String usuarioAdministrador = "wpsIntranetAdmin";
		String senhaAdministrador 	= "s0b0sp99";
	 
		
				
		// ID do Portlet
		 String idPortlet = portletResponse.encodeNamespace("namespace_");
		 // Recupera WorkSpace do Usuario Administrador
		 Workspace wsUser = WCM_API.getRepository().getWorkspace(usuarioAdministrador,senhaAdministrador);
		 wsUser.setCurrentDocumentLibrary(wsUser.getDocumentLibrary(libraryConteudo));
			
		 DocumentId docID	 = null;
		 Category  categoria = null;					
		 Taxonomy  taxonomia = null;
		
		 DocumentIdIterator iteratorTax = wsUser.findByName(DocumentTypes.Taxonomy ,nomeTaxonomia);
		
		 while (iteratorTax.hasNext())
		 { 
	             		    	  	
		     taxonomia = (Taxonomy)wsUser.getById((DocumentId)iteratorTax.next());
		     
	            DocumentIdIterator iteratorCateg = taxonomia.getChildren();

							
			    while (iteratorCateg.hasNext())
			  	{         		    	  	
				  docID = (DocumentId)iteratorCateg.next();
			 	  categoria = (Category)wsUser.getById(docID);    			    			
	    		 	  output.add(categoria.getTitle());	
	    		 	 	    
	    		 	}  
			 	
				Collections.sort(output);
				    
	 		}

		for(int i = 0; i < output.size(); i++) {

%>


<table cellpadding="3" cellspacing="0" border="0">     
     <tr>     
         <td width="150" align="right">Assunto:</td>     
         <td width="665">     
<select name="assunto" id="assunto">   
<%   
for (String s : output) {   
%>   
<option value="<%=s%>" > <%=s%> </option>   
<%}%>   
</select></td>     
     </tr>     
</table>
M

Na linha 41, você não precisa mais daquele for (o for na parte de baixo já cuida do problema, eu acho).

Elimine a linha 41 e tente novamente.

R

fiz isso cara! continua dando um erro!

uma vez eu ouvi dizer em algo de “AddItem” para algo em uma combobox

mas não sei como se usa! =/
ja pesquisei mas não encontro nada!

Alguma ideia?

Muito obrigado

R

Roberto Porto:
fiz isso cara! continua dando um erro!

uma vez eu ouvi dizer em algo de “AddItem” para algo em uma combobox

mas não sei como se usa! =/
ja pesquisei mas não encontro nada!

Alguma ideia?

Muito obrigado

com aquele meu for ele insere cara elemento da List em uma combobox separadamente

[img]

M

O método addItem serve para o JComboBox, em aplicações swing. Para páginas em JSP tem que ser algo similar a isso…

Qual erro você recebe? É de compilação ou os dados são exibidos incorretamente?

M

Você removeu o primeiro for? Como está seu código agora?

R

da forma que voce me deu a dica montei da seguinte forma cara

List output             = new ArrayList();   
        String nomeTaxonomia    = "Assuntos";   
        String libraryConteudo  = "IntranetContent";       
        String usuarioAdministrador = "wpsIntranetAdmin";   
        String senhaAdministrador   = "s0b0sp99";   
       
           
                   
        // ID do Portlet   
         String idPortlet = portletResponse.encodeNamespace("namespace_");   
         // Recupera WorkSpace do Usuario Administrador   
         Workspace wsUser = WCM_API.getRepository().getWorkspace(usuarioAdministrador,senhaAdministrador);   
         wsUser.setCurrentDocumentLibrary(wsUser.getDocumentLibrary(libraryConteudo));   
               
         DocumentId docID    = null;   
         Category  categoria = null;                       
         Taxonomy  taxonomia = null;   
           
         DocumentIdIterator iteratorTax = wsUser.findByName(DocumentTypes.Taxonomy ,nomeTaxonomia);   
           
         while (iteratorTax.hasNext())   
         {   
                                       
             taxonomia = (Taxonomy)wsUser.getById((DocumentId)iteratorTax.next());   
               
                DocumentIdIterator iteratorCateg = taxonomia.getChildren();   
  
                               
                while (iteratorCateg.hasNext())   
                {                             
                  docID = (DocumentId)iteratorCateg.next();   
                  categoria = (Category)wsUser.getById(docID);                                 
                      output.add(categoria.getTitle());   
                               
                    }     
                   
                Collections.sort(output);   
                       
            }   
  
%>   
  
  
<table cellpadding="3" cellspacing="0" border="0">       
     <tr>       
         <td width="150" align="right">Assunto:</td>       
         <td width="665">       
	
                <select name="assunto" id="assunto">     
	<%  for (String s : output) { %>     
	
	<option value="<%=s%>" > <%=s%> </option>     
	
<%}%>     
	</select>
	</td>       
     </tr>       
</table>

o ERRO rola no for, linha 50

M

Substitua sua primeira linha por:

List output<String> = new ArrayList<String>();

É erro de compilação que dá no for ou só exibe os resultados errados?

R

ja tinha feito esse lance de dizer que a list eh uma string, mas n interfere

Na verdade ele não exibe cara! nem erro!

R

Roberto Porto:
ja tinha feito esse lance de dizer que a list eh uma string, mas n interfere

Na verdade ele não exibe cara! nem erro!

estava lendo a respeito do append… sabe se isso me ajuda?!?

R

Roberto Porto:
Roberto Porto:
ja tinha feito esse lance de dizer que a list eh uma string, mas n interfere

Na verdade ele não exibe cara! nem erro!

estava lendo a respeito do append… sabe se isso me ajuda?!?

estou tentando criar a lista dentro do combobox!! será que rola?

M

Roberto Porto:
Roberto Porto:
Roberto Porto:
ja tinha feito esse lance de dizer que a list eh uma string, mas n interfere

Na verdade ele não exibe cara! nem erro!

estava lendo a respeito do append… sabe se isso me ajuda?!?

estou tentando criar a lista dentro do combobox!! será que rola?


Eu acho que será pior. Olha só, criei um JSP chamado lista.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Usando lista</title>
</head>
<body>
<%
    List<String> output = new ArrayList<String>();

    output.add("Sei lá");
    output.add("Não sei");
    output.add("Talvez");
    output.add("Não tenho certeza");
    output.add("Pode ser");
    output.add("Não estou certo");
    output.add("Desisto");
%>
<table cellpadding="3" cellspacing="0" border="0">
	<tr>
		<td width="150" align="right">Assunto:</td>
		<td width="665"><select name="assunto" id="assunto">
			<%
			    for (String s : output) {
			%>
			<option value="<%=s%>"><%=s%></option>
			<%
			    }
			%>
		</select></td>
	</tr>
</table>
</body>
</html>

Funciona PERFEITAMENTE. Eis a questão: será que o problema não está em outro lugar do código?

fabiodurgante
assim 
 List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquiza
a lista recebe a sua pesquisa ums lista
          jComboBox.removeAllItems();   
     for(Cliente cliente:lista) { 

       jComboBox.addItem(cliente.getid_Cliente());

}
M
fabiodurgante:
assim 
 List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquiza
a lista recebe a sua pesquisa ums lista
          jComboBox.removeAllItems();   
     for(Cliente cliente:lista) { 

       jComboBox.addItem(cliente.getid_Cliente());

}
O que ele procura não é JComboBox: é combobox em HTML (páginas JSP). Mas valeu a tentativa.
fabiodurgante
opa ali é no desktop

web aqui funciona

List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquiza   
a lista recebe a sua pesquisa ums lista   

     for(Cliente cliente:lista) {   


<select>
    <option> <%=cli.getid_Cliente()%> </option>   pego todos os id_resultante da pesquisa
    
</select>
R

cara não entendi muito bem os parametros que voce passou ai!!!
tipo

List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());
R

marcobiscaro2112:
Roberto Porto:
Roberto Porto:
Roberto Porto:
ja tinha feito esse lance de dizer que a list eh uma string, mas n interfere

Na verdade ele não exibe cara! nem erro!

estava lendo a respeito do append… sabe se isso me ajuda?!?

estou tentando criar a lista dentro do combobox!! será que rola?


Eu acho que será pior. Olha só, criei um JSP chamado lista.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Usando lista</title>
</head>
<body>
<%
    List<String> output = new ArrayList<String>();

    output.add("Sei lá");
    output.add("Não sei");
    output.add("Talvez");
    output.add("Não tenho certeza");
    output.add("Pode ser");
    output.add("Não estou certo");
    output.add("Desisto");
%>
<table cellpadding="3" cellspacing="0" border="0">
	<tr>
		<td width="150" align="right">Assunto:</td>
		<td width="665"><select name="assunto" id="assunto">
			<%
			    for (String s : output) {
			%>
			<option value="<%=s%>"><%=s%></option>
			<%
			    }
			%>
		</select></td>
	</tr>
</table>
</body>
</html>

Funciona PERFEITAMENTE. Eis a questão: será que o problema não está em outro lugar do código?

Realmente amigo! estou começando a achar que possa ser isso!
pois tambem testei seu codigo e funcionou perfeitinho

talvez n tenha a ver por eu adicionar na minha lista um Iterator???

R

Valeu a ajuda de todos pessoal

principalmente ao marcobiscaro que até testou um codigo para mim!

consegui da seguinte forma!

<table cellpadding="3" cellspacing="0" border="0">     
     <tr>     
         <td width="150" align="right">Assunto:</td>     
         <td width="665">     

	<select name="assunto" id="assunto">   
	<option> Selecione... </option>
	<% for(int i = 0; i < output.size(); i++) { %>
	
	<option value="<%=output.get(i).toString()%>" > <%=output.get(i).toString()%> </option>   
	  <%}%> 
	   
	</select></td>  
        
     </tr>     
</table>

Muito obrigado pela ajuda de todos!
abraço

M

Ótimo, resolvido! Estamos aqui se precisar!

M

Quer dizer… quase resolvido: você tem certeza que na list output só tem String’s? Se sim, não é preciso chamar o método toString().

R

Verdade cara!

vou fazer um toString ali! bem lembrado!!!

Obrigado

abraço cara!

Criado 7 de janeiro de 2009
Ultima resposta 8 de jan. de 2009
Respostas 22
Participantes 3