Newsgroup: it.comp.java
Titolo: JSP FORWARD

Ciao a tutti,
in una pagina jsp ho incluso un mio tag personalizzato che riceve come
parametro obbligatorio il PageContext della pagina che tutilizza il
mio tag.
es.
........
........
<myPrefix:myTag context="${pageContext}"/>
........
.......
Il myTag andando in esecuzione e verificate alcune condizioni può
capitare che esegua un forward nel seguente modo
 pg.forward(urlPath);  // Dove pg è un riferimento al PageContext
oggetto implicito della mia jsp che chiama il tag
Il forward viene eseguito...
Ma la cosa strana è che in qualche modo il flusso di esecuzione della
jsp continua.
Infatto dopo la chiamata al tag personalizzato ho un
<c:import ulr="Servizio.jsp"/>
e osservando l'HttpMonito vedo che questa chiamata viene eseguita
comunque.
La domanda è esiste un modo per impedire che al forward il flusso
della pagina jsp venga interrotto?
Grazie mille

 capitare che esegua un forward
Male!
La jsp dovrebbe servire solamente a visualizzare le informazioni che hai 
gia' calcolato. La jsp non deve contenere logica applicativa, solo 
logica di visualizzazione!
Se devi gestire un fork fallo nella logica applicativa e, una volta 
deciso cosa fare, chiama una o l'altra jsp.
Il problema e' anche a livello http: se il tuo web server ha gia' 
inviato parte della pagina html (che deriva dalla tua jsp) al client, il 
forward puo' essere imprevedibile nel suo comportamento in quanto e' 
un'informazione tipicamente inserita nell'header della risposta.
-- 
SoulSpirit


Hai perfettamente ragione, ma sto ereditando del codice...
In realtà comunque la mia intenzione era scrivere un tag
personalizzato da includere all'inzio di ogni pagina jsp per
verificare le credenziali dell'utente e i permessi a livello di domini
applicativi.
Comunque ho risolto l'inconveniente creando il tag personalizzato
facendogli supportare la gestione di un body...
In questo caso se il tag personalizzato deve redirigere a una pagina
di errore, semplicemente non fa eseguire ciò che è contenuto nel body
(la pagina jsp).

Ragazzi ho bisogno di una mano. Vi prego aiutatemi, sto impazzendo.
Ho una web application in cui tutte le richieste delle jsp vengono
inviate ad una servlet.
Questa servlet poi delega ad altre servlet il compito di soddisfare le
richieste, di fare della computazione sul modello e di fare un'altra
forward verso la jsp destinataria.
I problemi che ho riscontrato avvengono quando la jsp di origine e di
destinazioni sono le stesse.
Non sò esattamente quale sia il problema, credo sia di
sincronizzazione ma mi sembra molto strano, forse è il forward che non
funziona in maniera opportuna. In pratica la jsp che viene richiamata
più volte a seconda di un parametro recuperato dalla sessione deve
visualizzare un opportuno grafico ed una opportuna tabella dinamica.
Per fare questo ho definito un tld ed un handler che prendono alcuni
oggetti dalla sessione e generano dinamicamente l'HTML.
Sapete dirmi per caso perchè non mi viene generato sempre il contenuto
dinamico opportuno? Io dovrei ciclare tre volte su questa jsp,
attraverso un pulsante che manda la richiesta alla servlet che mi
incrementa la famosa variabile della sessione, ma a volte ottengo solo
due passaggi a volte invece mi è permesso di riciclare anche 6 7 volte
sulla stessa pagina (per questo pensavo fosse un thread che intercetta
la mia richiesta.....ma come è possibile? Perchè resta in ascolto? Non
dovrebbe morire una volta soddisfatta la mia richiesta e se nn muore
come faccio? ).
Per favore un aiutooooooo.