Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    106

    J2EE Passaggio arraylist a jsp

    Salve,

    avrei un problema che non riesco proprio a risolvere.

    In una servlet ho del codice perfettamente funzionante che mi avvvalura una ARRAYLIST DI OGGETTI. ArrayList<oggetto> mylist = new ArrayList<oggetto>();

    Con il seguente codice passo l'arraylist a una pagina jsp:

    HttpSession session = request.getSession();
    session.setAttribute("mylist", mylist);

    RequestDispatcher dispatcher;
    dispatcher = getServletContext().getRequestDispatcher("index.js p");
    dispatcher.forward(request,response);

    Adesso... come posso recuperare la mia arraylist nella pagina jsp (sempre se è possibile passarla)

    Grazie del vostro aiuto

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: J2EE Passaggio arraylist a jsp

    Originariamente inviato da Ceptive
    Adesso... come posso recuperare la mia arraylist nella pagina jsp (sempre se è possibile passarla)
    Hai messo la lista come "attributo" in sessione. Se la pagina jsp implicitamente partecipa alla sessione o se tu da codice nella JSP ottieni la sessione, ecco che hai possibilità di ottenere il riferimento alla lista.

    La lista puoi scansionarla sia tramite "scriptlet" nella pagina JSP sia tramite JSTL o altri custom tag (di altri framework) che permette di lavorare e iterare su collezioni in attributi. Con l'uso naturalmente di EL (Expression Language).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    106
    ok risolto!

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    106
    Scusa ancora...

    se uso nella jsp questo codice:

    HttpSession mysession = request.getSession();
    ArrayList<Appello> myappelli = (ArrayList<Appello>)mysession.getAttribute("myappe lli");

    for(int i=0;i<=myappelli.size()-1;i++)
    {
    System.out.println(myappelli.get(i).getId());
    System.out.println(myappelli.get(i).getCommissione ());
    }

    mi recupera l'arraylist però mi stampa sempre lo stesso oggetto (che corrisponde all'ultima riga della tabella del database)

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Ceptive
    codice:
    	HttpSession mysession = request.getSession();
    	ArrayList<Appello> myappelli = (ArrayList<Appello>)mysession.getAttribute("myappelli");
    
    	for(int i=0;i<=myappelli.size()-1;i++)
    	{
    		System.out.println(myappelli.get(i).getId());
    		System.out.println(myappelli.get(i).getCommissione());
    	}
    Tecnicamente è corretto. La condizione la puoi fare più semplicemente con i<myappelli.size() (che è l'idioma tipico).

    Originariamente inviato da Ceptive
    mi recupera l'arraylist però mi stampa sempre lo stesso oggetto (che corrisponde all'ultima riga della tabella del database)
    Allora l'errore concettuale è di certo nel punto in cui riempi la lista.

    Quando il risultato è quello che hai appena descritto, la prima cosa che può (e dovrebbe) venire in mente è che presumibilmente hai istanziato 1 solo oggetto Appello e poi hai solamente cambiato lo "stato" dell'oggetto con dei vari setXXX e quindi hai inserito nella lista sempre e solo quello stesso oggetto (=tutti reference uguali nella lista). Pertanto hai sempre gli stessi dati che sono gli ultimi settati.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.