Listando array!

5 respostas
G

e ae galera… to eu ae de novo … =) … tenho uma jsp para impressao de um array … e preciso fazer tipo um lista de emails… com link avançar e votar!! tenho q exibir uma lista de 10 linhas por tela … ate q o array acabe!! ja estou imprimindo a lista toda… agora so preciso dividi-la de 10 em 10 … com o avançar e voltar!! alguem pode da uma mao ae!!!

vlw
abraços

5 Respostas

Marky.Vasconcelos

acho que seria meio POG mas acho que resolve
só adapta pra pega a lista de algum lugar e não deixar o contador passar o list.size()

public class Lista{ private List<String> list = new ArrayList<String>(); private int contadorPagina = 0; public getNextList(){ contadorPagina += 10; return list.subList(contadorPagina-10,contadorPagina); } }

G

eu esqueci de dizer!! eh um array de inteiros!! dae num sei se da pra usar o arrayList!!

<table align="center" width="50%">
		<tr>
			<td><center><font face="comic sans ms" color="white" >Identificador </td>
			
		</tr>
		<%if ( session.getAttribute("arrayPrimo") !=  null ) {
				
				int arrayPrimo[] =  (int[]) session.getAttribute("arrayPrimo");
				String arrayPrimoPos =  session.getAttribute("arrayPrimoPos") != null ? (String) session.getAttribute("arrayPrimoPos") : "0";
				int arrayPos = Integer.parseInt(arrayPrimoPos);
				
				
				for ( int i = 0; i < arrayPos; i++ ) {
					%>
					<tr>
						
						<td>
							<center><%=arrayPrimo[i]%>
						</td>
						
					</tr>
					<%
							}
					}
					%>
	</table>

o codigo jsp q eu tenho pra imprimir ele inteiro eh assim ... analisando isso... daria pra modificar pra ele imprimir de 10 em 10 com avançar e volta... sem apagar as telas qdo tu avança e volta?!

vlw
abraço

Guto_Magalhaes

Vc esta tentando fazer a paginação certo? Tenta jogar as informaçoes em um collection ao inves de um vetor. Ai vc faz o seguinte

public Collection listaEmails(Collection collection, numberPage, limite)

{

Collection c = new ArrayList();
Iterator it = collection.iterator();

     int count = 0;
     int count2 = 0;

     if(numberPage == 1)
     {
         while(it.hasNext());
         {
             if(count >= limite)
             {
                 break;
             }
             else
             {
                  c.add((collection)it.next());
                  count++;
              }
          }
     }
     else
     {
           while(it.hasNext())
           {
                if(count >= limite)
                {
                    break;
                }
                else if(count2 < (numberPage * limite) - limite)
                {
                     it.next;
                     count2++;
                 }
                 else
                 {
                     c.add((collection)it.next());
                    count++;
                  }
         }
        return c;

}

Entendeu? Se for a primeira pagina, vc adiciona no collection ate o count ser >= ao limite. Se nao for, vc adiciona apenas os itens pertencentes aquela pagina. Se nao forem daquela pagina, ele apenas da next() no iterator. E uma coisa: eu fiz c.add((collection)it.next()) para fazer uma conversão do valor guardado no iterator para collection, passando ao proximo elemento em seguida.

Falow

Guto_Magalhaes

O meu ta totalmente pog

diego2005

gudih:
eu esqueci de dizer!! eh um array de inteiros!! dae num sei se da pra usar o arrayList!!

Dá sim, um exemplo:

List<Integer> lista = new ArrayList<Integer> (); lista.add(5); lista.add(9); lista.add(13); for(Integer i : lista) { int x = i; x += 10; System.out.println(x); }

T+

Criado 15 de agosto de 2007
Ultima resposta 16 de ago. de 2007
Respostas 5
Participantes 4