|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 16
|
JSP e form di ricerca
Ciao.
Ho realizzato una pagina jsp che ricerca dei dati in un database, in particolare dei libri in base al titolo. Quello che non riesco a gestire sono le eccezioni, cioè se si digita un titolo non presente nel DB esce la pagina bianca. Quello che vorrei fare io e che uscisse un messaggio del tipo "libro non presente". Ho provato cosi ma non funziona. Codice:
%><b>Eccezione:<</b> <%= e.toString() %><%
} finally {
if ("+title+" != "null" ) {
out.println("<h2>titolo non presente</h2>");
}
title e il parametro di imput nel forum. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 16
|
anche provato
Oh anche provato a fare un controlla quando "cattura la variabile" ma senza risultati
Codice:
String title = request.getParameter("title");
if( request.getParameter(“title”) != null )
out.println("<h2>Inserire almeno una parola per effettuare una rcerca</h2>"); %>
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Beh il metodo migliore IMHO è da fare dopo la query che esegui: sicuramente avrai un while(rs.next()){ stampo i libri che ho trovato}
qua all'interno puoi benissimo metterci un contatore che lo vai ad incrementare ogni volta che trovi un libro while(rs.next()){ stampo i libri che ho trovato; i++} alla fine del ciclo while ci metti un bella if if( i == 0){Non ho trovato libri} else{ continua a fare quello che devi fare} mentre se usi if(rs.next()) {stampo i libri che ho trovato }else{Non ho trovato libri} anche se questo caso non dovresti usarlo perchè puoi anche avere + libri con la chiave di ricerca inserita. NapalM |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 16
|
cosi non mi è cambiato niente.
Se non trova niente mi da sempre pagina bianca Codice:
// Scorro e mostro i risultati.
while (resultset.next()) { int i=0; i++;
String Titolo = resultset.getString(1);
String Anno = resultset.getString(2);
String Autore = resultset.getString(3);
if (i==0) out.println("Non ci sta");
%>
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Ovviamente la varibile int i=0 devi dichararla fuori dal while, altrimenti ad ogni giro te la riannulla.
Idem per il messaggio if (i==0), devi metterlo finito il while ! |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
Codice:
// Scorro e mostro i risultati.
int i = 0;
while (resultset.next()) {
String Titolo = resultset.getString(1);
String Anno = resultset.getString(2);
String Autore = resultset.getString(3);
i++;
}
if (i==0) out.println("Non ci sta");
%>
|
|
|
|
|
|
|
#7 | |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 16
|
ma perchè
Ho provato cosi ma non funziona:
Codice:
// Scorro e mostro i risultati.
int i = 0;
while (resultset.next()) {
String Titolo = resultset.getString(1);
String Anno = resultset.getString(2);
String Autore = resultset.getString(3);
i++;
}
if (i==0) ; out.println("Non ci sta");
%>
%>
togliende } funziona ma naturalmente non fa nulla se no lasciare la pagina bianca. Ma qual'è l'errore che genera? Quote:
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Postami l'intero codice della pagina, hai sicuramente qualche graffa sparsa non aperta ed ecco perchè il mio codice non ti funziona.
Anche il ";" dopo l'if non ci và sennò ti stamperà sempre "Non ci sta" perchè non è nello statement dell'if. NapalM
__________________
Ultima modifica di Napalm : 03-01-2006 alle 12:49. |
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 16
|
codice completo
Xnapalm.
Hai visto il messaggio nei messaggi privati? Grazie |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:19.




















