[RISOLTISSIMO][Java] Prampa, come si visualizza una "list" in una pagina jsp?
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
SI!!! PERCHE' IL DB CON ALTRE PAGINE ELEMENTARISSIME FORNISCE CORRETTAMENTE I DATI USANDO ISTRUZIONI JAVA NELLE JSP!
Ragazzi grazie per tutto il tempo che mi dedicate, non saprei come fare senza di voi!
Ragazzi grazie per tutto il tempo che mi dedicate, non saprei come fare senza di voi!
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
Sto sbagliando la servlet, ne sono sempre più convinto! Deve esserci qualcosa che non va da quelle parti.
1) La lista è correttamente richiamata
2) Una jsp con tag banali di accesso a un db elenca correttamente i dati
ERGO
Passerò la notte a guardare la servlet che vi ho postato perché ho sbagliato qualcosa lì.
1) La lista è correttamente richiamata
2) Una jsp con tag banali di accesso a un db elenca correttamente i dati
ERGO
Passerò la notte a guardare la servlet che vi ho postato perché ho sbagliato qualcosa lì.
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
per visualizzare da jsp in modo brutto un oggetto List puoi usare questo metodo
dove request.getAttribute("lista") è il nome dell'oggetto list che hai memorizzato nella request e db.valueobject.RubricaVO è il nome del javabean (VO) con cui hai realizzato l'oggetto list. Sostituisci con i tuoi valori....
Ma il log directory_TOMCAT/logs/matrix.log che cosa dice? scrive qualcosa?
ciao
Codice: Seleziona tutto
<%
java.util.List list = (java.util.List) request.getAttribute("lista");
out.println("size = " + list.size());
java.util.Iterator iteratorList = list.iterator();
while(iteratorList.hasNext()){
db.valueobject.RubricaVO vo = (db.valueobject.RubricaVO)iteratorList.next();
out.println(vo.getCognome()+" "+vo.getNome()+ " "+vo.getNumeroTelefono());
}
%>
Ma il log directory_TOMCAT/logs/matrix.log che cosa dice? scrive qualcosa?
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
Ho trovato! (credo). L'errore è nel valueobject, se infatti cerco di richiamarlo in modo diretto col metodo indicato da Prampa continuo a vedere un insieme nullo. Ve lo riposto; in particolare quello che proprio non mi ha convinto e che non ho capito sono le due righe relative alla query col punto interrogativo e poi il fatto che questa lista presenta un parametro tra gli argomenti (scusate se mi serve tutta la lista che bisogno ho di passare un parametro? Sicuramente qualcosa mi sfugge ma per me l'intoppo è qui!
Codice: Seleziona tutto
//Perché questa lista ha un argomento?
public List getList(ValueAccount parameter) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{
List bnList = new ArrayList();
bnCn = bnDAO.cnOpen();
//Ecco le due righe che non capisco
bnSt = bnCn.prepareStatement("select * from tbl_user where ID_user like ?");
bnSt.setString(1,parameter.getiduser()+"%");
bnRs = bnSt.executeQuery();
while(bnRs.next()){
ValueAccount bnVl = new ValueAccount();
bnVl.setiduser(new Integer(bnRs.getString("ID_user")));
bnVl.setCognome(bnRs.getString("cognome"));
bnVl.setNome(bnRs.getString("nome"));
bnVl.setTitolo(bnRs.getString("titolo"));
bnVl.setRuolo(bnRs.getString("ruolo"));
bnVl.setUtente(bnRs.getString("utente"));
bnVl.setPassword(bnRs.getString("password"));
bnVl.setEmail(bnRs.getString("nome"));
bnVl.setLanguage(bnRs.getString("language"));
bnVl.setReminderindex(bnRs.getString("reminderindex"));
bnVl.setRemindertime(bnRs.getString("remindertime"));
bnList.add(bnVl);
}
bnDAO.cnClose(bnCn);
return bnList;
}
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
OK, secondo me se non funziona è perche' deve essere impostato, anche con "", l'attributo idUser. Se ci fai caso, nell'esempio che ti ho inviato (progetto Matrix) nella servlet che chiede il servizio getList al Model, prima imposta
e poi richiede il servizio.
Questo è solo un esempio, ma è un modo normale di sviluppare: oggi tu vuoi estrarre tutte le occorrenze nella tabella, ma potrebbe accadere che domani tu abbia la necessità di estrarre le occorrenze in base ad un certo filtro. Se lo imposti in questo modo da subito sarà piu' semplice apportare modifiche. Nella servlet imposti i parametri recuperati da html e li passi al servizio offerto dal Model: il Model utilizza i parametri per filtrare i dati. Di solito si usano classi per il passaggio dati e non singoli attributi: se devi aggiungere variabili modifichi la classe senza modificare dopo la signature dei metodi. E poi era anche un esempio per farti vedere come si eseguono dei comandi DML: si utilizza il metodo prepareStatement sostituendo i parametri contrasseganti nelle query con ? con l'effettivo valore recuparato dalla classe di parametri. In questo modo la select ritorna tutte le occorrenze nella tabella perche' c'è una .. like '%'; questo perche' il mio esempio prevedeva una ricerca sul cognome. Se non ti interessa modifica la tua select in base ai tuoi requisiti, l'importante è che da subito tu preveda una classe per il passaggio di parametri.
Ma il log lo utilizzi o no? E' importantissimo per questi casi: ti avrebbe dato subito l'indicazione di dove ti bloccavi....viene scritto o no?.....
ciao
Codice: Seleziona tutto
parameter.setCognome("");Questo è solo un esempio, ma è un modo normale di sviluppare: oggi tu vuoi estrarre tutte le occorrenze nella tabella, ma potrebbe accadere che domani tu abbia la necessità di estrarre le occorrenze in base ad un certo filtro. Se lo imposti in questo modo da subito sarà piu' semplice apportare modifiche. Nella servlet imposti i parametri recuperati da html e li passi al servizio offerto dal Model: il Model utilizza i parametri per filtrare i dati. Di solito si usano classi per il passaggio dati e non singoli attributi: se devi aggiungere variabili modifichi la classe senza modificare dopo la signature dei metodi. E poi era anche un esempio per farti vedere come si eseguono dei comandi DML: si utilizza il metodo prepareStatement sostituendo i parametri contrasseganti nelle query con ? con l'effettivo valore recuparato dalla classe di parametri. In questo modo la select ritorna tutte le occorrenze nella tabella perche' c'è una .. like '%'; questo perche' il mio esempio prevedeva una ricerca sul cognome. Se non ti interessa modifica la tua select in base ai tuoi requisiti, l'importante è che da subito tu preveda una classe per il passaggio di parametri.
Ma il log lo utilizzi o no? E' importantissimo per questi casi: ti avrebbe dato subito l'indicazione di dove ti bloccavi....viene scritto o no?.....
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [Java] Prampa, ma come si visualizza una "list" in una pagina jsp?
Ciao Prampa, grazie per la risposta.
1) Non vedo il log che dici. Ovvero, nella directory C:\Programmi\Apache Software Foundation\Tomcat 5.5\logs vedo file txt ma con nomi non attinenti alle applicazioni ovvero admin, jakarta, catalina etc. Dove posso trovare il file log specifico dell'applicazione di cui parli?
2) Non posso inserire il doppio apice di cui parli perché la variabile è definita come integer e se lo faccio vedo un messaggio di errore. Se al posto del doppio apice inserisco ad esempio 0 continuo a vedere un insieme null. Se inserisco per prova un ID non presente nel database continuo a vedere un insieme nullo. Se però inserisco un numero che nel db è effettivamente presente tra gli id, attenzione attenzione, vedo un errore di questo tipo:
Eppure la classe ValueAccount è identica a quella che vi avevo postato ieri! Quindi a questo punto mi sorgono due dubbi. Il primo è, come mai compare questo errore (sono convinto che il fulcro del problema stia proprio qui)? Il secondo, come trasformare questa riga di codice che ho inserito dopo le tue indicazioni:
rendendola equivalente alla corrispondete riga relativa al caso di una variabile String con insieme nullo ossia col doppio apice?
Grazie per tutto il tempo che mi state dedicando...
1) Non vedo il log che dici. Ovvero, nella directory C:\Programmi\Apache Software Foundation\Tomcat 5.5\logs vedo file txt ma con nomi non attinenti alle applicazioni ovvero admin, jakarta, catalina etc. Dove posso trovare il file log specifico dell'applicazione di cui parli?
2) Non posso inserire il doppio apice di cui parli perché la variabile è definita come integer e se lo faccio vedo un messaggio di errore. Se al posto del doppio apice inserisco ad esempio 0 continuo a vedere un insieme null. Se inserisco per prova un ID non presente nel database continuo a vedere un insieme nullo. Se però inserisco un numero che nel db è effettivamente presente tra gli id, attenzione attenzione, vedo un errore di questo tipo:
Codice: Seleziona tutto
org.apache.jasper.JasperException: Unable to find a value for "id" in object of class "value.ValueAccount" using operator "."
Codice: Seleziona tutto
acVA.setiduser(new Integer(20));
Grazie per tutto il tempo che mi state dedicando...
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [QUASI RISOLTO][Java] Prampa, come si visualizza una "list" in una pagina js
CI SONO RIUSCITO, MANCA SOLO UNA COSA!!!
Ho ricontrollato RIGA PER RIGA tutte le classi, servlet ecc quell'errore era relativo ad una banalità nella index2.jsp nei tag che richiamavano la lista. Dunque,
1) Se seleziono una ricerca basata su valori String restituisce correttamente l'insieme;
2) Se seleziono una ricerca basata su un ID_user preciso presente nel db usando la riga restituisce correttamente i dati di quella riga;
3) Se però imposto quella riga come o anche vedo comunque un errore.
Perciò vi chiedo, qual'è il comando equivalente al seguente nel caso però in cui non voglia settare il nome ma una variabile di tipo Integer? Grazie tantissimo a tutti!
EDIT: Prampa quel file importantissimo sul log di cui mi parlavi prima dove posso trovarlo? Nella directory di cui mi hai parlato, come ti dicevo sopra, non sono riuscito a trovarlo...
Ho ricontrollato RIGA PER RIGA tutte le classi, servlet ecc quell'errore era relativo ad una banalità nella index2.jsp nei tag che richiamavano la lista. Dunque,
1) Se seleziono una ricerca basata su valori String restituisce correttamente l'insieme;
2) Se seleziono una ricerca basata su un ID_user preciso presente nel db usando la riga
Codice: Seleziona tutto
acVA.setiduser(new Integer(20));3) Se però imposto quella riga come
Codice: Seleziona tutto
acVA.setiduser(new Integer(""));Codice: Seleziona tutto
acVA.setiduser(new Integer("*"));Perciò vi chiedo, qual'è il comando equivalente al seguente
Codice: Seleziona tutto
acVA.setnome("");EDIT: Prampa quel file importantissimo sul log di cui mi parlavi prima dove posso trovarlo? Nella directory di cui mi hai parlato, come ti dicevo sopra, non sono riuscito a trovarlo...
Ultima modifica di Archimede Pitagorico il venerdì 14 marzo 2008, 12:55, modificato 1 volta in totale.
Re: [QUASI RISOLTO][Java] Prampa, come si visualizza una "list" in una pagina jsp?
ma funziona con i tag jstl oppure inserendo codice java all'interno della jsp?
secondo te.....
Se è solo questo allora, come da precedente post,
Per il log io utilizzavo log4j: hai copiato il log4j.properties nella parte web e il log.qualcosa.jar tra le lib sempre lato web? Devi usare questo sistema (cerca su google) per la segnalazione di log applicativi: e mi raccomando usalo!!!!!
ciao
secondo te.....
che ti fa venire in mente? se cerchi di far diventare Integer un "*".....perche' ci sarà un errore?3) Se però imposto quella riga come
Codice:
acVA.setiduser(new Integer(""));o anche
Codice:
acVA.setiduser(new Integer("*"));vedo comunque un errore.
Se è solo questo allora, come da precedente post,
anche se poi non li usi. Togli il ? dalla select ed estrai tutte le occorrenza dalla tabella....tutto qua....Se non ti interessa modifica la tua select in base ai tuoi requisiti, l'importante è che da subito tu preveda una classe per il passaggio di parametri
Per il log io utilizzavo log4j: hai copiato il log4j.properties nella parte web e il log.qualcosa.jar tra le lib sempre lato web? Devi usare questo sistema (cerca su google) per la segnalazione di log applicativi: e mi raccomando usalo!!!!!
ciao
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [QUASI RISOLTO][Java] Prampa, come si visualizza una "list" in una pagina js
PROVVEDO SUBITO. Cosa non farei senza di te...
-
Archimede Pitagorico
- Scoppiettante Seguace

- Messaggi: 861
- Iscrizione: domenica 22 aprile 2007, 19:51
Re: [QUASI RISOLTO][Java] Prampa, come si visualizza una "list" in una pagina js
FUNZIONA!!!
Riguardo il sistema di log ti ringrazio, magari ne parlerò in altro post per non andare fuori tema.
Riguardo il sistema di log ti ringrazio, magari ne parlerò in altro post per non andare fuori tema.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti