Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202

    [ JSP ] List/Vector come variabile di sessione

    Ciao,
    vorrei sapere se è possibile utilizzare una struttura dati dinamica come variabile di sessione. Ho una pagina che riceve ogni volta un parametro e deve aggiungerlo ogni volta alla stessa variabile di sessione... avevo pensato di creare un Vector, richiamare la variabile di sessione, aggiungerci il parametro, risettarla, stamparne il risultato.
    Ma sia con un Vector che con una List ottengo un errore di null pointer exception da qualche parte.
    Il codice è su per giù questo:
    codice:
    <%
    // recupero il nuovo prodotto e l'elenco di prodotti selezionati
    String prodotto = request.getParameter("nomeProdotto");
    Vector carrello = (Vector)session.getAttribute("selezionati");
    
    // aggiungo il nuovo prodotto all'elenco
    if (prodotto != null) {
    	carrello.addElement(prodotto);
    	session.setAttribute("selezionati", carrello);
    	}
    
    // stampo l'elenco di prodotti selezionati
    if (carrello != null) {
    	Enumeration e = carrello.elements();
    	while(e.hasMoreElements()){
    		String prodottoSelezionato = (String)e.nextElement();
    %>
    [*]<%= prodottoSelezionato %>
    
    <%
    	}
    }
    %>
    e ottengo una
    codice:
    root cause
    
    java.lang.NullPointerException
    non meglio specificata

    Grazie
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  2. #2
    risposta forse stupida:
    Vector carrello = new Vector();
    carrello = etc etc...

    prova, in JAVA farei cosi

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Giusto, così funziona

    codice:
    <%
    String prodotto = null;
    Vector carrello = new Vector();
    
    // recupero il nuovo prodotto e l'elenco di prodotti selezionati
    if (request.getParameterNames().hasMoreElements()) {
    	prodotto = request.getParameter("nomeProdotto");
    }
    
    if (session.getAttributeNames().hasMoreElements()) {
    	carrello = (Vector)session.getAttribute("selezionati");
    }
    
    // aggiungo il nuovo prodotto all'elenco
    if (prodotto != null) {
    	carrello.addElement(prodotto);
    	session.setAttribute("selezionati", carrello);
    	}
    
    // stampo l'elenco di prodotti selezionati
    if (carrello != null) {
    	Enumeration e = carrello.elements();
    	while(e.hasMoreElements()){
    		String prodottoSelezionato = (String)e.nextElement();
    %>
    [*]<%= prodottoSelezionato %>
    
    <%
    	}
    }
    %>
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

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.