Pagina 1 di 1

[Java] Maniera elegante per passare più list ad una jsp

Inviato: mercoledì 17 settembre 2008, 10:50
da Archimede Pitagorico
Buongiorno.

come da titolo, una servlet apre una jsp con alcuni campi presenti sotto forma di menù a tendina. Campi ed elenchi di menù prendono i dati da tabelle, da qui la necessità di passare più list. Come posso definire in modo pulito una lista di oggetti list, che vada bene a prescindere dal numero di list? Quale sintassi usare e quale tipo di dati? Forse un array? Potete indicarmi un breve frammento di codice? Grazie

Re: [Java] Maniera elegante per passare più list ad una jsp

Inviato: mercoledì 17 settembre 2008, 11:22
da Arcovoltaico77
puoi inserire nella Request un oggetto Vector, pieno degli oggetti che vuoi. Ad esempio, dovendo caricare una combobox con un elenco di valori (ID e Descrizioni) :

Nella servlet :

Codice: Seleziona tutto

                Vector v1 = new Vector();
				ResultSet rs = <esegui la query>;
                if(rs != null)
                    while(rs.next())
                    {
                        TComboCell cc = new TComboCell();
                        cc.Id = rs.getString(1);
                        cc.Descr = rs.getString(2);
                        v1.add(cc);
                    }
                rs.close();
                rs = null;
                request.setAttribute("vCostruttori", v1); 
Nella JSP :

Codice: Seleziona tutto

<%@ page import="java.util.*" %>
<%
  Vector vCostruttori = (Vector)request.getAttribute("vCostruttori");
%>
In allegato la classe TComboCell, che rappresenta una riga della combobox  ;D
(b2b)

Re: [Java] Maniera elegante per passare più list ad una jsp

Inviato: venerdì 19 settembre 2008, 16:13
da prampa
secondo me....come ti pare, o meglio non credo esista un metodo pulito per raggruppare una serie di oggetti list.
Puoi creare un oggetto contenitore in cui definisci un numero ben preciso (1,2,3,4,5,6,7.....) di oggetti List, oppure, come ora, mettere nella request n oggetti List. L'occupazione in memoria è la stessa, non cambia nulla.
Se poi ti inventi qualcosa di piu' complicato pensa che lo dovrai gestire anche nella jsp (senza utilizzare codice java).
ciao