Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203

    Paginazione dinamica Tabella

    Ciao a tutti ragazzi innanzi tutto grazie per l'aiuto che mi state dando, ho un piccolo quesito:
    Come faccio a paginare i dati provenienti dal db senza conoscere in maniera aprioristica quanti dati mi ritorneranno?
    ho un db oracle ed utilizzo ejb con servlet e jsp.
    Grazie mille a tutti per l'aiuto

  2. #2
    Sinceramente ci sono diverti modi per farlo. Ma ci dovresti sbattere un pò la testa. Infatti ti consiglio di usare un tag di struts che puoi tranquillamente importarlo anche senza usare questo framework che ti gestisce l'impaginazione dei record provenienti dal DB senza che tu faccia niente ^^ soltanto impostare il numero dei record da visualizzare per pagina e l'ordine.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    Ma cmq sia dovrei importare il framework ed andrei ad appesantire tutto l'applicativo.
    Non c'è un modo per farlo tramite la successione ejb servlet jsp?
    io ho un metodo di questo tipo che ad oggi mi restituisce tutti i valori che mi servono:

    codice:
     
        public List<VRicercaAggrCodMazzetto> findMazzByCode(String code) {
    	Query q = em.createQuery("SELECT m FROM VRicercaAggrCodMazzetto m WHERE m.code =:code");
                q.setParameter("code", code);
                    return q.getResultList();
        }
    per fare la paginazione dovrei mettergli un punto di partenza e la quantità di risultati per pagina modificando il metodo in questo modo:

    codice:
     
        public List<VRicercaAggrCodMazzetto> findMazzByCode(String code , int start , int numRis ) {
    	Query q = em.createQuery("SELECT m FROM VRicercaAggrCodMazzetto m WHERE m.code =:code");
                q.setParameter("code", code);
                query = query.setFirstResult(start);
                query = query.setMaxResults(numRis); 
                    return q.getResultList();
        }
    o sbaglio?

  4. #4
    Usando direttamente dei metodi con gli ejb non so. Io quando gestii la paginazione per dei record, mi feci una mia logica direttamente nella servlet. Recuperavo tutti i record da una determinata tabella e li sparavo in una collection. Poi ogni 10 record inserivo una collection in un'hashmap. Alla fine se avevo per esempio 30 record, mi trovavo un'hashmap con 3 valori-chiave. 1 chiave mi recuperava i valori della prima collection, 2 chiave con quelli della seconda collection etc etc.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    Operando in questo modo bisogna sapere a priori quanti record hai nella collection o sbaglio?

  6. #6
    no...perchè scusa? usa la divisione e il modulo in caso trovi meno di 10 record

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    si parla di tabelle di migliaia di risultati quanti indici dovrei creare?

  8. #8
    Bhe intanto li crea in maniera dinamica in base ai risultati che trovi nel DB...Poi ovviamente questa è un'idea. Insomma il tag di struts che ti permette l'impaginazione non pesa neanche 30 kb ...è come importante la libreria jstl o altro.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.