Newsgroup: it.comp.java
Titolo: sendRedirect - JSP e Tomcat

qualcuno sa come si possono mettere più sendRedirect nella stessa pagina 
jsp ?? es:
.
.
<%
if (a == "Ciao"){
   sendRedirect("
http://www.tin.it
");
}
if (a == "Test"){
   sendRedirect("
http://www.virgilio.it
");
}
%>
.
.
facendo in questo modo il cmopilatore JSp mi ritorna un errore di 
IllegalStateException (Ovviamente non ho scritto niente ancora nel response)
L'unico modo che ho trovato è quello di inserire il secondo redirect 
nell'else del primo if tipo:
.
.
<%
if (a == "Ciao"){
   sendRedirect("
http://www.tin.it
");
}else{
   if (a == "Test"){
     sendRedirect("
http://www.virgilio.it
");
   }
}
%>
.
.
in questo modo funziona, ma implica che le due condizioni siano 
correlate e alternative una all'altra...
Come posso fare per far funzionare il primo esempio ???
Grazie mille a chi mi può dare una mano :-))
ciao ciao

 qualcuno sa come si possono mettere più sendRedirect nella stessa pagina
ho avuto il tuo stesso problema da quanto mi sembra di aver capito il
problema stà nel
fatto che anche in presenza di un sendRedirect(..) il server continua a
processare la pagina jsp. Cioè il sendRedirect non interrompe l'esecuzione
di una jsp come avviene con le asp (ma non ne sono certo).
L'errore è dovuto al fatto che + sendRedirect(..) consecutivi mandano la jvm
in uno stato non definito (non sa cosa fare :-)
ilcario -
http://bingo.crema.unimi.it/usa/

 ha scritto nel messaggio
news:als5gc$bt3$1...@fe2.cs.interbusiness.it...

L'esecuzione della servlet continua anche dopo l'istruzione di inoltro o
reindirizzamento.
Non ho capito bene perchè non puoi usare questo codice:
 if (a == "Ciao"){
    sendRedirect("
http://www.tin.it
");
 }else{
    if (a == "Test"){
      sendRedirect("
http://www.virgilio.it
");
    }
 }
Ciao.

 writes:
G> qualcuno sa come si possono mettere piů sendRedirect nella stessa
G> pagina jsp ?? es:
...
I sendRedirect()  non terminano l'esecuzione della  JSP/servlet, per cui
devi mettere  un "return"  dopo ogni sendRedirect(),  a meno che  tu non
debba  proseguire con altre  elaborazioni "fuori  linea", che  pero` non
possono piu`  scrivere in output, chiamare altri  Redirect(), ecc., pena
la IllegalStateException.
Saluti,
Luca Polo.
-- 
 /Luca Polo : 
Luca...@gest.unipd.it
 || Dipartimento di Tecnica e       \
| System & network administrator      || Gestione dei Sistemi Industriali |
 \
http://www.gest.unipd.it/~jake
      || Universita` di Padova -- Italy  /

  }
Che a differenza di quello postato ha molto più senso. Come farebbe a
ridirigere il browser su due pagine diverse contemporaneamente...?
Ciao
Luigi.

Grazie a tutti,
il "return;" mi ha risolto tutti i problemi
grazie ancora :-)
Roberto

 ... quindi se vuoi che venga interrotta, metti un bel "return;"
L'avessi saputo prima!
Nelle servlet che ho sviluppato non l'ho mai utilizzato, invece e' molto
comodo.
Sai una cosa pero' ... sono stato sempre contrario a qualsiasi forma di
uscita forzata (GOSUB, EXIT, RETURN).
Ho preso forse troppo alla lettera le parole del mio ex insegnante
d'informatica, ma comuqnue a parte questo e' comodo ma poco elegante penso.
Pero' da ora in poi lo utilizzero', non sai cosa mi sono inventato negli
IF/ELSE di inoltro per uscirmene dalla servlet.
Tutto questo discorso vale anche per il RequestDispatcher, giusto?
Ciao.