Criando um estrutura de paginação

Pessoal,

Gostaria da ajuda de vocês! Eu preciso criar uma estrutura de paginação.
Esta estrutura é feita da seguinte forma: pego os dados do banco e armazeno nesta estrutura, para evitar acessos a mais no banco cada vez que pagino no meu browser, esta estrutura pode ser tipo um coleção … enfim qual padrão de projeto eu posso usar, li sobre o Iterator … estou na dúvida alguém poderia me ajudar?

Obrigada,

Olá, vc pode usar a displaytag (http://displaytag.sourceforge.net/11/) para suas tabelas. Ela cria a paginação automática para o numero de registros que vc retornar do banco e passar pra ela.

Você pode utilizar um DTO que represente cada uma de suas páginas, por exemplo:

/*
 * Created on Jan 13, 2007
 *  
 */
package exemplo;

import java.util.List;



public class PaginaTO 
{
   
    /**
     * Número da página retornada
     */
    private int pagina;

    /**
     * Quantidade de registros retornados por página
     */
    private int qtdeRegistrosPorPagina;

    /**
     * Total de registros existentes no banco de dados
     */
    private long totalRegistros;

    /**
     * Registros retornados pela pesquisa
     */
    private List registros;

    /**
     * @return Returns the pagina.
     */
    public int getPagina()
    {
        return pagina;
    }

    /**
     * @param pagina
     *            The pagina to set.
     */
    public void setPagina(int pagina)
    {
        this.pagina = pagina;
    }

    /**
     * @return Returns the qtdeRegistrosPorPagina.
     */
    public int getQtdeRegistrosPorPagina()
    {
        return qtdeRegistrosPorPagina;
    }

    /**
     * @param qtdeRegistrosPorPagina
     *            The qtdeRegistrosPorPagina to set.
     */
    public void setQtdeRegistrosPorPagina(int qtdeRegistrosPorPagina)
    {
        this.qtdeRegistrosPorPagina = qtdeRegistrosPorPagina;
    }

    /**
     * @return Returns the registros.
     */
    public List getRegistros()
    {
        return registros;
    }

    /**
     * @param registros
     *            The registros to set.
     */
    public void setRegistros(List registros)
    {
        this.registros = registros;
    }

    /**
     * @return Returns the totalRegistros.
     */
    public long getTotalRegistros()
    {
        return totalRegistros;
    }

    /**
     * @param totalRegistros
     *            The totalRegistros to set.
     */
    public void setTotalRegistros(long totalRegistros)
    {
        this.totalRegistros = totalRegistros;
    }
}